我想展平用于定义 protobuf-net 合同的类型层次结构,我们目前在该合同中具有以下内容:
[ProtoContract]
public class SubClass : BaseClass
{
[ProtoMember(1)]
public string Prop1 { get; set; }
}
[ProtoContract]
[ProtoInclude(1, typeof(SubClass))]
public class BaseClass
{
[ProtoMember(100)]
public string Prop2 { get; set; }
}
然后将其重构为
[ProtoContract]
public class SubClass
{
[ProtoMember(1)]
public string Prop1 { get; set; }
[ProtoMember(100)]
public string Prop2 { get; set; }
}
这样在重构之前序列化的实例被成功反序列化。这是否可以简单地通过选择正确的索引或者我需要做更多的事情?