我刚刚开始使用 Google Protocol Buffers 和 Marc Gravell 的很棒的 protobuf-net 程序,我不明白的一件事是生成的 .proto 文件中字段声明的命名约定。
以下是谷歌推荐的内容:
“使用 underscore_separated_names 作为字段名称——例如,song_name。” https://developers.google.com/protocol-buffers/docs/style
“请注意,方法名称始终使用驼峰式命名,即使 .proto 文件中的字段名称使用带下划线的小写(应该如此)。” https://developers.google.com/protocol-buffers/docs/reference/java-generated
“请注意这些访问器方法如何使用驼峰命名法,即使 .proto 文件使用带下划线的小写字母。” https://developers.google.com/protocol-buffers/docs/javatutorial
但是当我在 protobuf-net 中使用 Serializer.GetProto() 方法时:
[ProtoContract]
public partial class AuthEntry
{
private string _windowsAccount = "";
private string _machineNames = "*";
[ProtoMember(1)]
public string WindowsAccount
{
get { return _windowsAccount; }
set { _windowsAccount = value; }
}
[ProtoMember(2)]
public string MachineNames
{
get { return _machineNames; }
set { _machineNames = value; }
}
}
我明白了:
message AuthEntry {
optional string WindowsAccount = 1;
optional string MachineNames = 2;
}
而不是这个,正如我所料:
message AuthEntry {
optional string windows_account = 1;
optional string machine_names = 2;
}
我想这没什么大不了的,但以防万一......