当前位置 : 主页 > 大数据 > 区块链 >

是否可以使用protobuf-net Serializer并同时使用相应的* .proto文件?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我有一个.NET类型,它既没有ProtoContract也没有DataContract.此外,并非所有状态都需要进行原始序列化. 我可以为它定义一个.proto文件,但同时使用某种序列化程序来序列化它,好像它归因于Pro
我有一个.NET类型,它既没有ProtoContract也没有DataContract.此外,并非所有状态都需要进行原始序列化.
我可以为它定义一个.proto文件,但同时使用某种序列化程序来序列化它,好像它归因于ProtoContract?

谢谢.

作为第三种选择,可以使用[XmlType]和[XmlElement(Order = n)] ……但我认为这不是你的意思; p

在“v2”中,这确实是可能的.您不需要定义.proto – 您可以简单地告诉它在运行时要做什么,例如:

var model = TypeModel.Create();
model.Add(typeof(SomeType)).Add("Foo", "Bar", "Blip");

现在将模型存储在某处(并重新使用它),并使用model.Serialize(…)和model.Deserialize(…).上面将SomeType配置为序列化.Foo(如字段1),. Bar(作为字段2)和.Blip(作为字段3).当然,有更多的方法可以实现更细粒度的控制.

它将生成(首先需要)一个序列化器(通过IL发射,非常快),可以按预期使用您的类型.

有一个可下载的“v2”DLL,但它需要更新 – 我在过去几周内做了很多修复.我将在今天晚些时候尝试刷新这个dll,或者你可以从代码构建.

网友评论