gpt4 book ai didi

c# - 初始化 Google Protobuf RepeatedField 集合

转载 作者:行者123 更新时间:2023-12-04 11:20:05 25 4
gpt4 key购买 nike

当您尝试初始化已生成的 Google Protobuf 消息类型的重复字段成员(属性)时,您不能使用 setter,因为它们是只读的。
如何初始化 google Protobuf 消息的 RepeatedField 集合?

最佳答案

尽管它的语法有点奇怪,但实际上您可以在 RepeatedField 上的集合初始值设定项中使用集合。像这样:

var promotions = new List<Promotion>(); 
// code to populate promotions
var price = new Price() { Promotions = { promotions } };
这是有效的,因为 RepeatedField定义了一个自定义集合初始值设定项(重载 Add 需要 IEnumerable<T> )。
我想这是一种解决方法,因此可以声明这些字段 readonly在消息中,但仍然使用集合初始值设定项。

关于c# - 初始化 Google Protobuf RepeatedField 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59299158/

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