2017-07-07 40 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 {}