3

我有一个用 [ProtoContract(ImplicitFields = ImplicitFields.AllFields)] 装饰的基类

为了能够序列化派生类,我只需要添加 ProtoInclude 吗?由于派生类字段没有被序列化 - 继承是否仅适用于 Protomember?

4

1 回答 1

3

Protobuf 不完全支持继承,您需要在基类中进行一些修饰。

[
ProtoContract(),
ProtoInclude(100, typeof(Peer)),
ProtoInclude(101, typeof(Instruction))
]
class Base {...}

[ProtoContract()]
class Peer: Base
{ ... }

[ProtoContract()]
class Instruction: Base
{ ... }

对于仅通过基类提供属性的派生类。

于 2013-01-21T04:16:41.567 回答