gpt4 book ai didi

c# - protobuf-net - 从 .proto 生成的类 - 重复字段是否应该是只读的,没有 setter ?

转载 作者:太空狗 更新时间:2023-10-29 17:40:21 27 4
gpt4 key购买 nike

我对此很困惑。我环顾四周,似乎找不到直接的答案。我有一个 .proto 文件,我的项目一直是 java,用来创建一些消息。

有一个重复的信息字段。这是我们创建的类型。当我使用 protogen 生成 C# 类时,该字段显示为只读且没有 setter 。

没有这个参数,我无法完全构建消息。所以我的问题是。是否应该像这样生成重复的字段,我应该以其他方式访问这个只读列表?或者这是生成器中的错误?

生成的代码:

private readonly global::System.Collections.Generic.List<StringMapEntry> _factoryProperty = new global::System.Collections.Generic.List<StringMapEntry>();
[global::ProtoBuf.ProtoMember(2, Name=@"factoryProperty", DataFormat = global::ProtoBuf.DataFormat.Default)]
public global::System.Collections.Generic.List<StringMapEntry> factoryProperty
{
get { return _factoryProperty; }
}

原始文件部分:

repeated StringMapEntry factoryProperty = 2;

我可能只是遗漏了一些非常明显的东西。感谢您的帮助!

最佳答案

列表不是只读的...您只需改变它给您的列表:

var order = new Order();
order.Lines.Add( new OrderLine {...} );

实际上子集合只获取是很常见的。这并不意味着您不能更改内容。

关于c# - protobuf-net - 从 .proto 生成的类 - 重复字段是否应该是只读的,没有 setter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16617933/

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