Protocol buffers Protobuf空字符串作为枚举名

Protocol buffers Protobuf空字符串作为枚举名,protocol-buffers,proto,Protocol Buffers,Proto,假设我有一个协议缓冲区模式: message Person{ enum Height{ UNDEFINED = 0; TALL = 1; SHORT = 2; } HEIGHT Height = 1; } 是否可以使用空字符串(“)而不是未定义的字符串?否,不是。枚举名称用于生成大多数(所有?)语言中的成员,该成员通常是标识符,因此需要名称。由于在某些语言(C++,cough)中如何为多个枚举定义成员解析,您可能还希望在名称前加前缀,以便可以有多个未定义的

假设我有一个协议缓冲区模式:

message Person{
  enum Height{
    UNDEFINED = 0;
    TALL = 1;
    SHORT = 2;
  }
  HEIGHT Height = 1;
}


是否可以使用空字符串(
)而不是
未定义的字符串?

否,不是。枚举名称用于生成大多数(所有?)语言中的成员,该成员通常是标识符,因此需要名称。由于在某些语言(C++,cough)中如何为多个枚举定义成员解析,您可能还希望在名称前加前缀,以便可以有多个未定义的

就我个人而言,我更关心的是“高”、“短”或“未定义”的高度选项有多模棱两可、过载和限制