[英]Using protobuf enum value as a field number
我想知道是否可以使用Google Protocol Buffers的枚舉常量作為其他消息的字段數,例如
enum Code {
FOO = 100;
BAR = 101;
}
message Message {
required string foo = FOO;
}
此代碼不起作用,因為FOO
的類型是enum Code
,只有一個數字可以用作字段編號。
我正在嘗試構建多態消息定義,如動物示例 ,定義Cat = 1;
在enum Type
和required Cat animal = 100;
作為唯一的分機號碼。
我覺得這樣做很好
message Message {
required string foo = FOO.value;
}
,這樣我就可以確保擴展字段編號的唯一性,而不會引入另一個幻數。
所以問題是:是否可以在協議緩沖區語言中引用枚舉的整數值?
不,沒有辦法做到這一點。 抱歉。
順便說一下,兩個相同枚舉類型的枚舉實際上可以具有相同的數值,因此在枚舉中定義這些值實際上並不能確保唯一性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.