我想为
Message
分配“消息”类型,因此 payload
可以是 Sms
或 Email
。这不是有效类型,因为错误显示 message not defined
引用了我分配给 payload
的“消息”类型。
有什么方法可以使
payload
成为足够通用的类型,它可以是 Sms
或 Email
?
syntax = "proto3";
message Sms {
...
}
message Email {
...
}
message Message {
// Can be any form of communication.
message payload = 1; // I want to make this any kind of message.
}
或者,我打算添加两种可以分配给
Message
的类型。
syntax = "proto3";
message Sms {
...
}
message Email {
...
}
message Message {
// Can be any form of communication.
optional Sms sms = 1;
optional Email email = 2;
}
message Message {
oneof payload {
Sms sms = 1;
Email email = 2;
}
}