我有协议缓冲区格式的数据,可以描述如下
message Sections {
repeated Section sections = 1;
}
message Section {
required uint32 type = 1;
required bytes payload = 2;
}
message SectionType1 {
required int32 fieldType1 = 1;
// ...
}
message SectionType2 {
required int32 fieldType2 = 1;
// ...
}
message SectionType3 {
required int32 fieldType3 = 1;
// ...
}
我正在使用 protobuf-net 库(+ protogen + 预编译)。如何将此类数据反序列化为类似于
public class Sections
{
public List<Section> Sections { get; }
}
public abstract class Section
{
}
public class SectionType1 : Section
{
public int FieldType1 { get; }
}
public class SectionType2 : Section
{
public int FieldType2 { get; }
}
public class SectionType3 : Section
{
public int FieldType3 { get; }
}
是否可以使用 .NET 中的此类数据(因为我使用的是轻型框架,所以使用预编译)?