Поддержка корневого интерфейса и типов объектов Protobuf-net V2.0 r668
Вопросы для Марка Гравелла (или любого другого, кто знает ответ)
Поддерживает ли последняя версия protobuf-net(v2.0 r668) сериализацию и десериализацию объектов, реализующих корневые интерфейсы, без необходимости быть членом какого-либо другого класса?
Одним из свойств в классе, который я пытаюсь сериализовать, является массив объектов. Если я устанавливаю один из объектов в массиве в Int32, я получаю сообщение об ошибке "Динамический тип не является типом контракта: Объект". Это почему? (Пытаясь понять ограничения)
Спасибо за прекрасную библиотеку, которую вы предоставили! Мы надеемся, что сможем использовать его для уменьшения объема данных, передаваемых по проводам в нашем приложении!
Заранее спасибо! Нилима
1 ответ
Базовая спецификация protobuf не включает в себя мета-типы, так что буквально негде хранить что-либо о том, какой тип использовать, не выходя за пределы базовой спецификации. Теперь я довольно прагматичен, и есть ряд мест, где protobuf-net становится несколько... креативным (но остается легальным с точки зрения проводного формата), но динамические корневые объекты в настоящее время не являются одним из них. У меня есть некоторые идеи, но в настоящее время ничего не реализовано.