.Net
ProtoBuf
的{{1}}如何在继承链中运作?例如,查看以下类。
ProtoMember
代码内联中提到了问题。
(1)如果基类已经[ProtoContract]
public class BaseClass
{
[ProtoMember(1)]
public int Id { get; set; }
[ProtoMember(2)]
public string Name { get; set; }
}
[ProtoContract] //required?
public class DerivedClass : BaseClass
{
[ProtoMember(3)] //can tag value be 1 ?
public string Category { get; set; }
}
,我是否需要标记派生类ProtoContract
?
(2)对于派生类的属性,我可以重用已在基类属性中使用的ProtoContract
的标记值(int
)吗?
答案 0 :(得分:3)
(1)如果基类已经是ProtoContract,我是否需要标记派生类ProtoContract? 是的,但您还应该将顺序设置为派生类型
(2)对于派生类的属性,我可以重用已经在基类属性中使用的ProtoMember的标记值(int)吗?是的,您可以从派生类
中的1开始