无法将属性或索引器googleprotobuf RepeatedField分配给它-只读

Vig*_*esh 2 .net c# protocol-buffers

我是Google ProtoBuf文件的新手。我在Google protobuf文件中有以下消息包。

 message AvailabilityOfLockersResp{
  uint32 NumberOfAvailableLockers;
  repeated uint32 lockerIds = 1;
 }
Run Code Online (Sandbox Code Playgroud)

并且我使用Protoc.exe生成了相应的ProtoBuf类,并在.net项目中添加了生成的c#类文件。

我的问题是,当我向该lockerIds字段分配值时,出现以下错误。

在此处输入图片说明

它向我显示这是一个只读字段。但是,我想为该字段分配一个值。那么,要实现这一点,我应该怎么做?如果我错了,请纠正我。

提前致谢。

Vig*_*esh 5

我找到了答案,以我自己的问题我在上面问。

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

        ProtoPacket protoPacketResponse = new ProtoPacket 
        {               
            AvailabilityOfLockersResp = new AvailabilityOfLockersResp { NumberOfAvailableLockers = (uint)lockerIds.Count() }//LockerIds = lockerIds,
        };
Run Code Online (Sandbox Code Playgroud)

在新实例之外,我已将值分配给LockerIds,如下所示,

protoPacketResponse.AvailabilityOfLockersResp.LockerIds.AddRange(lockerIds);
Run Code Online (Sandbox Code Playgroud)