2017-11-29 1 views
0

Google ProtoBufファイルを初めて使用しています。私はGoogleのprotobufファイルの下にメッセージパケットがあります。プロパティまたはインデクサーgoogleprotobuf RepeatedFieldに割り当てることができません - 読み込み専用です

message AvailabilityOfLockersResp{ 
    uint32 NumberOfAvailableLockers; 
    repeated uint32 lockerIds = 1; 
} 

と私はProtoc.exeを使用して対応いるProtobufクラスを生成して、コメントを追加しているというのが私の.NETプロジェクト内部で生成されたC#クラスファイル。

私の問題は、私はこのlockerIdsフィールドに値を代入すると、私は以下のエラーを取得しています、です。

enter image description here

読み取り専用フィールドだということを私に示しています。しかし、私はこのフィールドに値を割り当てたい。だから、それを達成するために、私は何を変えるべきですか?私が間違っている場合は私を修正してください。

ありがとうございました。

答えて

1

私は上記の私自身の質問に対する答えを見つけました。

 List<uint> lockerIds = new List<uint>(); 

     ProtoPacket protoPacketResponse = new ProtoPacket 
     {    
      AvailabilityOfLockersResp = new AvailabilityOfLockersResp { NumberOfAvailableLockers = (uint)lockerIds.Count() }//LockerIds = lockerIds, 
     }; 

は、新しいインスタンスの外では、私は、LockerIds以下のように値を割り当てた

protoPacketResponse.AvailabilityOfLockersResp.LockerIds.AddRange(lockerIds); 
関連する問題