首页 > 解决方案 > 运行有错误的 C# protobuf 示例

问题描述

C# 新手,我在 MacOS 上安装了 Rider,并在解决方案中安装了 Google.Protobuf 和 protobuf-net。我在链接上找到了 C# protobuf 的示例,并将文件添加到解决方案中。但是,当我编译.cs文件时,我得到了这些错误。

Addressbook.cs(263, 57): [CS1615] 参数 1 不能使用 'ref' 关键字传递
Addressbook.cs(445, 61): [CS1615] 参数 1 不能使用 'ref' 关键字地址簿传递
。 cs(580, 57): [CS1615] 参数 1 不能与 'ref' 关键字一起传递

那么如何解决这些问题呢?

标签: c#riderprotocol-buffers

解决方案


似乎方法参数不接受引用:ref argument;

要解决此问题,请确保删除refAddressbook.cs 文件的第 263、445、580 行中的参数之前。

给出的例子:

if (!pb::UnknownFieldSet.MergeFieldFrom(ref _unknownFields, input)) {
          return;
}

应该:

if (!pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input)) {
          return;
}

推荐阅读