gpt4 book ai didi

c# - ProtoBuf 属性 ProtoMember 是否继承了 C# 中的标记值

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:51 25 4
gpt4 key购买 nike

.Net ProtoBufProtoMember 在继承链中是如何工作的?例如,查看以下类。

[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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com