简而言之,是否有一种方法可以定义一个包含任意类型另一个消息的protobuf消息?就像这样:
```proto message MyMessage { google.protobuf.Any any_field = 1; } ```
```proto message MyMessage { google.protobuf.Any any_field = 1; } ```
message OuterMsg {
required int32 type = 1;
required Message nestedMsg = 2; //Any sort of message can go here
}
我怀疑有一种方法可以做到这一点,因为在各种protobuf实现中,编译后的消息都是从一个公共的Message
基类扩展而来。
否则,我想我必须为所有这些类型的消息创建一个通用的基础消息,例如:
message BaseNestedMessage {
extensions 1 to max;
}
然后执行
message OuterMessage {
required int32 type = 1;
required BaseNestedMessage nestedMsg = 2;
}
这是唯一的实现方式吗?