1
我具有產生這種形式的協議緩衝器輸出的要求:嵌套消息使用序列化時protobuf網
message TimeSeries {
message Point {
required int64 DateTime = 1;
required double Value = 2;
}
repeated Point Points = 3;
}
在C#,不管我是否單獨地或與點限定時間序列和點類作爲嵌套類,我不能從調用Serializer.GetProto得到的結果產生這個層次結構。
這是我認爲會產生預期的效果:
[ProtoContract]
public class TimeSeries
{
[ProtoMember(1, IsRequired = true)]
public List<Point> Points { get; set; }
[ProtoContract]
public class Point
{
[ProtoMember(1, IsRequired = true)]
public Int64? DateTime { get; set; }
[ProtoMember(2, IsRequired = true)]
public Double? Value { get; set; }
}
}
相反,我得到:
message Point {
required int64 DateTime = 1;
required double Value = 2;
}
message TimeSeries {
repeated Point Points = 1;
}
我新的協議緩衝區和protobuf網,所以很可能是失去了一些東西明顯。
感謝Marc的快速反應。 –