如何序列化多个派生类的基类属性,ProtoBuf.net



如果有一种方法可以序列化来自多个派生类的基类属性而不为所有派生类编写 [ProtoInclude(n, typeof(DerivedM((] 属性,我会感到不安。

这是首选机制。您可以通过反射和操作RuntimeTypeModel[typeof(TheBaseType)]来自动化它(有添加子类型的方法等( - 但是,这是脆弱的:即使您添加/删除/重命名类型,将来相同的键(数字(映射到相同的类型也非常重要。此外,显式声明支持可以轻松查看正在使用的键(字段编号(。

最新更新