由于某种原因,生成的代码包含内部构造函数而不是公共构造函数:
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
internal MyProtobufMessage()
{
OnConstruction();
}
从官方文档来看,它应该是公开的:
// Parameterless constructor which calls the OnConstruction partial method if provided.
public Foo();
我想知道是否可以指定任何选项来生成公共构造函数。我需要它是公共的,因为我使用的是通用模板,它要求类型具有公共构造函数(new() 约束)。
我正在使用的 Protobuf 版本:3.11.4
.proto 文件是这样的:
syntax = "proto3";
import "timestamp.proto";
package MyNamespace;
option csharp_namespace = "MyNamespace";
message MyProtobufMessage{
...
}