【发布时间】:2017-02-14 13:02:22
【问题描述】:
protobuf-net proto2 c#
这是我的.cs 文件,适用于protobuf-net 序列化/反序列化:
[ProtoBuf.ProtoContract(Name=@"MyBaseTypeProto")]
[ProtoBuf.ProtoInclude(typeof(MyDerivedType), 1)]
public partial class MyBaseType { ... }
[ProtoBuf.ProtoContract(Name=@"MyDerivedTypeProto")]
public partial class MyDerivedType : MyBaseType { ... }
[ProtoBuf.ProtoContract(Name=@"MyMessageProto")]
public partial class MyMessage
{
[ProtoBuf.ProtoMember(1, IsRequired = false, Name = @"MyList", DataFormat = ProtoBuf.DataFormat.Default)]
public List<MyDerivedType> MyList;
是否可以编写.proto 文件以便protogen.exe 生成上述文件?
类似:
MyBaseType.proto
message MyBaseType {
...
}
MyDerivedType.proto
message MyDerivedType {
...
}
MyMessage.proto
import "MyDerivedType.proto"
message MyMessage{
repeated MyDerivedType MyList = 1;
}
但protogen.exe 应用于上述消息类型将不会按需要生成上述类;特别是它不会生成这些代码行:
[ProtoBuf.ProtoInclude(typeof(MyDerivedType), 1)]
public partial class MyDerivedType : MyBaseType
【问题讨论】:
标签: c# code-generation protocol-buffers protobuf-net subtype