从 protobuf-net 中的自定义 RuntimeTypeModel 生成 .proto 文件

Posted

技术标签:

【中文标题】从 protobuf-net 中的自定义 RuntimeTypeModel 生成 .proto 文件【英文标题】:Generate .proto file from a custom RuntimeTypeModel in protobuf-net 【发布时间】:2015-06-17 15:59:19 【问题描述】:

使用protobuf-net,我希望从RuntimeTypeModel.Default以外的类型模型生成一个.proto文件:

RuntimeTypeModel myModel = TypeModel.Create();
myModel.Add(typeof(MyClass), true);
...
string myProto = Serializer.GetProto<MyClass>(); // Does not work, as it references RuntimeTypeModel.Default
在这种情况下如何生成 .proto 文件? 从GetProto()的源代码推断,我应该直接调用myModel.GetSchema(typeof(MyClass))吗?

【问题讨论】:

【参考方案1】:

由于到目前为止没有人回答: 调用 myModel.GetSchema(typeof(MyClass)) 确实有效,但我不确定这是不是正确的方法。

【讨论】:

以上是关于从 protobuf-net 中的自定义 RuntimeTypeModel 生成 .proto 文件的主要内容,如果未能解决你的问题,请参考以下文章

protobuf-net 不适合哪些场景?

有没有办法在 protobuf-net 代理类中定义替代转换函数(从/到接口)

protobuf-net 中的对象继承

定义了protobuf-net序列化所需的proto2消息类型?

如何修复 c# protobuf-net 中的无效线型问题

C# protobuf-net - 默认值覆盖 protobuf 数据中的值