.Net
ProtoBuf
的ProtoMember
在继承链中是如何工作的?例如,查看以下类。
[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; }
}
代码内联中提到了问题。
(1) 如果基类已经是ProtoContract
,是否需要标记派生类ProtoContract
?
(2) 对于派生类的属性,是否可以重用已经在基类属性中使用的ProtoMember
的标签值(int
)?
最佳答案
(1) 如果基类已经是ProtoContract,是否需要标记派生类ProtoContract? 是的,但是您还应该将顺序设置为派生类型
(2) 对于派生类的属性,我可以重用已经在基类属性中使用的 ProtoMember 的标签值 (int) 吗?是的,你可以在派生类中从 1 开始
关于c# - ProtoBuf 属性 ProtoMember 是否继承了 C# 中的标记值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33567993/