我正在尝试从 .proto 文件生成 csharp (.cs) 文件。我从 github 下载了 protobuf-net 并在本地构建,这样我就可以使用 protogen 生成 .cs 文件。我的问题是,我希望它采用生成输出的 API 的先前版本的格式,例如,新生成的类不是从 ProtoBuf.IExtensible 继承的,而先前的版本确实从 ProtoBuf.IExtensible 继承。例如 protogen 正在生成:
[global::ProtoBuf.ProtoContract()]
public partial class ClientMsg
{
[global::ProtoBuf.ProtoMember(100)]
public Logon logon { get; set; }
...
}
我想要的是:
[global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"ClientMsg")]
public partial class ClientMsg : global::ProtoBuf.IExtensible
{
public ClientMsg() {}
private WebAPI_1.Logon _logon = null;
[global::ProtoBuf.ProtoMember(100, IsRequired = false, Name=@"logon", DataFormat = global::ProtoBuf.DataFormat.Default)]
[global::System.ComponentModel.DefaultValue(null)]
public WebAPI_1.Logon logon
{
get { return _logon; }
set { _logon = value; }
}
...
}