C# 尝试实例化时需要“ref”参数的Proto消息

C# 尝试实例化时需要“ref”参数的Proto消息,c#,protocol-buffers,C#,Protocol Buffers,我有以下原始信息: message MyClass { optional int64 _abc = 1 [default = 0]; optional double _def = 2 [default = 0]; optional int64 _ghi = 3 [default = 0]; optional int64

我有以下原始信息:

message MyClass
{
    optional int64          _abc                = 1 [default = 0];
    optional double         _def                = 2 [default = 0];
    optional int64          _ghi                = 3 [default = 0];
    optional int64          _jkl                = 4 [default = 0];
    optional string         _mno                = 5 [default = ""];
    repeated SomeType       _someTypes          = 6;
}
出于某种原因,protobuf net为该类生成以下构造函数,该构造函数取自图元文件:

为什么最后一个参数需要“ref”类型?我已经创建了几个非常相似的消息,但它们都没有。我真的不能提供更多的代码,因为实际上没有更多的代码


<>编辑:我删除了C部分,因为我已经删除了我的代码中的部分C类。

好的,这并不是直接与原Buffnet网有关,而是一个C++包中同名类的问题。编译器更喜欢这个而不是protobuf生成的类。

首先,我强烈建议使用自动实现的属性-类的大小将大幅缩小:其次,我想知道ref是否是由于proto中的默认值造成的?尝试删除它…嘿,谢谢,我会删除我的属性。很遗憾,删除默认值无效。我可以检查一下:你真的是指protobuf net吗?还是说protobuf csharp端口?我不记得protobuf net创建了非平凡的构造函数……是的,我已经仔细检查了,protobuf net生成了公共子事件{}。重新标记。我也不认为这是protobuf csharp端口——我们根本不会为消息生成公共构造函数:我们为构建器生成它们,但它们是无参数的。
public MyClass(int aAbc, double aDef, int aGhi, int aJkl, ref string aMno);