使用ProtoBuf-Net

时间:2019-07-15 16:03:36

标签: c# .net protocol-buffers protobuf-net

我想使用protobuf-net作为客户端和服务器之间的网络套接字通信的协议。

消息可以有大约十几种不同的类类型(它们都扩展相同的基类)。是否可以在知道确切类型之前对消息进行解码?如何实现?

预先感谢

1 个答案:

答案 0 :(得分:0)

听起来像我想要的:

[ProtoContract]
[ProtoInclude(1, typeof(Foo)]
...
[ProtoInclude(N, typeof(Bar)]
class SomeBase {}

[ProtoContract]
class Foo : SomeBase {...}

...

[ProtoContract]
class Bar : SomeBase {...}

然后使用Deserialize<SomeBase>(...)。这将以“ .proto”术语映射为oneof区分的联合。