Как сериализовать свойства базового класса для нескольких производных классов, ProtoBuf.net - PullRequest
0 голосов
/ 06 июня 2018

Меня интересует, есть ли способ сериализации свойств базового класса из нескольких производных классов без записи атрибута [ProtoInclude (n, typeof (DerivedM))]] для всех производных классов.

1 Ответ

0 голосов
/ 06 июня 2018

Это предпочтительный механизм.Вы можете автоматизировать его с помощью отражения и манипулирования RuntimeTypeModel[typeof(TheBaseType)] (существуют методы для добавления подтипов и т. Д.) - однако, это хрупко: очень важно, что то же самоеключи (цифры) соответствуют тем же типам в будущем, даже если вы добавляете / удаляете / переименовываете типыКроме того, явное объявление поддержки позволяет легко увидеть, какие ключи (номера полей) используются.

...