对于以下 Protocol Buffer 消息(proto3),如何确定设置了哪种类型?似乎没有像生成的C++版本那样的“has_reply”方法。

message Event {
  oneof type {
    Connection connection = 1;
    StatusReply reply = 2;
    Error error = 3;
    End end = 4;
    Empty empty = 5;
  };
}

最佳答案

https://developers.google.com/protocol-buffers/docs/reference/csharp-generated#oneof建议TypeOneofCase会告诉您设置了哪些:

10-04 14:30