2017-07-07 39 views
1

我想知道是否有可能有消息的枚举。可能在枚举中使用消息?

我想完成的是嵌套消息,基于哪个枚举被选中。通过使用可选标识符进行业务逻辑检查可以轻松解决问题。

我只是寻找一个比if语句更优雅的业务逻辑控制实现,而不是消息的地狱,以确定执行哪个代码路径。

这样的事情是我脑海中所想的。这有可能实现吗?

message T { 
    enum A { 
     message T2 = 1; 
    } 
} 
+0

什么语言是您使用?请为您的问题添加语言标记。提供更多的上下文也是一个好主意。就像举例说明它通常如何工作,然后它会更有意义地去做你想做的事情。很多时候,关于SO的问题的正确答案并不是你实际要求的。 –

+0

@FuzzyLogic好吧,这里的相关语言似乎是DSL:proto2/proto3 ... –

+0

我明白了,谢谢@MarcGravell。我应该检查标签说明:) –

回答

1

否 - 枚举简单地命名为32位整数;但oneof - 我不知道那你在找什么:

message T { 
    oneof A { 
     T2 t2 = 1; 
     //...other options here 
    } 
} 
message T2 {}