如何使用ProtoGen从proto文件生成结构
本文关键字:结构 文件 proto 何使用 ProtoGen | 更新日期: 2023-09-27 18:28:39
我们一直在使用protobuf-net ProtoGen从*.proto文件生成C#.cs文件。我们希望生成结构而不是类。例如
[DataContract]
public struct Entity1
{
[ProtoMember(1)]
public double Field1 { get; set; }
[ProtoMember(2)]
public string Field2 { get; set; }
}
我尝试使用方法Serializer.GetProto
为类和结构类型提取协议缓冲区。协议缓冲区(.proto)似乎无法识别结构和类之间的区别。所以我的意思是,这可能是ProtoGen中的一个参数,用于在从.proto生成的类/结构之间进行选择。该功能存在吗?或者我如何解决从*.proto生成结构的问题?
当前,ProtoGen只发出类;由于数据本身是可变的,我认为这是合理的,但是有两种选择:
- 编辑
csharp.xslt
以将class
替换为struct
(或复制csharp.xslt
,并使用-t
参数告知其使用该副本) - 按"原样"使用,并明智地使用ctrl+h(我知道技术含量低;但它会起作用)