是否可以在协议缓冲区中使用外部枚举(外部消息定义)?

问题描述:

我需要在PB消息定义之外定义的PB消息内存储列。怎么可能&怎么样?是否可以在协议缓冲区中使用外部枚举(外部消息定义)?

+1

对于Java,你可以尝试寻找protostuff,我收集比官方implemetation更多的运行时灵活。 – 2011-12-18 18:46:29

+0

你可以使用它们的字符串表示,或者将它们转换为整数。 – 2011-12-18 21:28:29

这是可能的。有关更多信息,请参阅this thread。 我喜欢在单独的.proto文件中定义枚举的建议。像

enums.proto

enum A 
{ 
    FIRST = 1; 
    SECOND = 2; 
} 

enum B { ... } 

other.proto

import "enums.proto"; 

message SOMEMESSAGE 
{ 
    required A myenum = 1; 
}