我想在 proto 文件中传递如下所示的多个枚举值选项,但是在按照以下代码块
指定值时发现编译错误:(types) = [5,6]
extend google.protobuf.EnumValueOptions {
optional string name = 50001;
repeated int32 types = 50002;
}
enum FileDefinitionSubType {
UNKNOWN = 0;
MAIN = 1 [
(name) = "main",
(types) = [5,6] // Compilation error in this line
];
} here
有人能建议如何修复此问题吗?下面是我 Java 代码中的一个示例枚举,我想在 proto 文件中复制它。
enum CarType {
UNKNOWN = 0;
NEW = 1 ("new", [MARUTI_ALTO, FORD_ECOSPORT]);
OLD = 2 ("old", [MARUTI_800, FORD_FIGO]);
MIDAGE = 3 ("midAge", []);
}
enum CarModel {
UNKNOWN = 0;
MARUTI_800 = 1;
MARUTI_ALTO = 2;
FORD_ECOSPORT = 3;
FORD_FIGO = 4;
}
我已经尝试传递不同的值,但没有任何效果。
根据语言规范:
这意味着:
单独的值将被收集到重复列表中,可以通过以下方式验证
protoc --decode
:或者,您可以将所有选项放在子消息中,并使用“协议缓冲区文本格式”来提供值: