[英]run C# protobuf example with errors
我是C#的新手,我在MacOS上安裝了Rider,並在解決方案中安裝了Google.Protobuf和protobuf-net。 我在link上找到了C#protobuf的示例,並將文件添加到解決方案中。 但是,當我編譯.cs
文件時,出現了這些錯誤。
Addressbook.cs(263,57):[CS1615]參數1可能無法與'ref'關鍵字一起傳遞
Addressbook.cs(445,61):[CS1615]參數1可能無法與'ref'關鍵字一起傳遞
Addressbook.cs(580,57):[CS1615]參數1可能無法與'ref'關鍵字一起傳遞
那么如何解決這些問題呢?
這似乎是方法的參數不接受一個參考: ref argument
;
若要解決此問題,請確保刪除Addressbook.cs文件的第263、445、580行中的參數之前的ref
。
給出的例子:
if (!pb::UnknownFieldSet.MergeFieldFrom(ref _unknownFields, input)) {
return;
}
應該:
if (!pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input)) {
return;
}
通過比較官方示例和protoc --csharp_out文件,我發現差異出現在@nnty提到的子句中。 在官方示例中,該子句被替換為
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
因此,用上述句子更改所有錯誤的位置可能有助於解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.