如何从用属性修饰的C#类生成.proto文件?试图了解googleprotobuf。我在C#中找到了一些protobuf的实现,但它们似乎缺少一个功能:从现有的C#类自动生成.proto文件的能力装饰有属性。我想这样做而不是从.proto文件自动生成C#类的原因是因为我已经在我的项目中定义了C#类,我不想复制它们只是为了满足ProtoBuf。有没有人遇到过这种情况?更新是否可以只装饰一个C#类而不是使用.proto文件来使用protobuf?好消息;您所描述的(使用现有的C#类)是protobuf-net的预期用例。所有.proto内容(“protogen”、VS插件等)都是事后添加的。protobuf-net的核心不知道或不关心它们。ProtocolBuffers定义了一个DSL(.proto,如您所提到的),它在实现之间共享,并且(有时)用于代码生成。当我第一次编写protobuf-net时,代码生成方面并不是我最关心的问题——只是.NET开发人员通常对“实现优先”而不是“契约优先”感到内疚(包括我自己)。因此,protobuf-net不需要.proto文件即可工作;属性类足以显式序列化/反序列化。只需使用Serializer.Serialize、.Merge和.Deserialize(等)。也就是说;它确实包括一些非常不发达和实验性的支持:stringproto=Serializer.GetProto();这远未完成,但可能适用于简单类型。如果您遇到某些特定情况,请告诉我(添加评论或记录问题)。然而;大多数时候,对.proto感兴趣的人会先编写.proto然后从那里开始工作。工作装饰器类型的示例显示在项目主页上;您是使用WCF属性、xml属性还是protobuf-net属性完全取决于您(尽管后者提供了对某些特定序列化点的更多控制,例如继承和数字布局)。在SkeetMarc在这里取得巨大成功之前,让我指出protobuf.net。以上是C#学习教程:Howtogeneratea.protofilefromaC#classdecoratedwithattributes?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
