陣列的使用在 C# 裡會實作成 IList
message Response {
// ...
repeated string values = 1;
}
但他並沒有 setter 的屬性,所以要新增內容進去要用 Add 的方式
ListResponse res = new();
res.Values.Add("1");
// or
List<string> strVals = new List<string>() { "Apple", "IPhone 17" };
res.Values.Add(strVals);
同時 repeated 本身也支援物件的形式,如:
message ListResponse {
message Order {
int32 orderId = 1;
}
repeated Order values = 1;
}
C# 端如下:
ListResponse res = new();
res.Values.Add(new ListResponse.Types.Order() { OrderId = 1});
用起來其實還蠻活的