20

私はこれについて完全に混乱しています。私は周りを見回しましたが、直接的な答えを見つけることができないようです。すべて Java である私のプロジェクトがいくつかのメッセージを作成するために使用する .proto ファイルがあります。

繰り返される Info フィールドがあります。弊社が作成したタイプです。protogen を使用して C# クラスを生成すると、このフィールドは読み取り専用として表示され、セッターがありません。

このパラメーターがないと、メッセージを完全に構築できません。だから私の質問はです。繰り返しフィールドはこのように生成されることになっており、この読み取り専用リストに別の方法でアクセスすることになっていますか? それともジェネレーターのバグですか?

生成されたコード:

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;

私はおそらく本当に明白な何かを見逃していました。助けてくれてありがとう!

4

2 に答える 2