2
我在代碼中有三種不同格式的消息,我製作了所有三個.proto文件並進行了編譯。我已經有了另外一個,說普通的,有很多枚舉的類,我需要在這三個類中使用這個枚舉。有沒有辦法使用外部常規類的枚舉,而不是在所有三個文件中的proto中定義相同的枚舉?使用外部類的枚舉來避免在.proto中定義?
我在代碼中有三種不同格式的消息,我製作了所有三個.proto文件並進行了編譯。我已經有了另外一個,說普通的,有很多枚舉的類,我需要在這三個類中使用這個枚舉。有沒有辦法使用外部常規類的枚舉,而不是在所有三個文件中的proto中定義相同的枚舉?使用外部類的枚舉來避免在.proto中定義?
我不太清楚你的意思是外部常規類 ...?
如果你想在C++中定義枚舉,然後把它放在一個Protobuf中,只需要在proto中放一個int字段。
但是如果你想通過多個PROTOS使用的通用枚舉,你可以使用進口:
common.proto:
package foo_common;
enum Color {
red = 1;
black = 2;
}
tree.proto:
package foo_tree;
import "common.proto";
message Node {
optional foo_common.Color color = 1;
};