从C#读取protobuf3自定义选项

gtu*_*rri 5 c# protocol-buffers

TL; DR

根据文档,如果我使用C ++,则可以使用读取自定义选项的值string value = MyMessage::descriptor()->options().GetExtension(my_option);。Java和Python也有类似的示例。但是我在做C#,我可以找到一个等效的东西。我可以这样做吗,如果可以,怎么办?

更多细节

我正在处理protobuf3生成的类。模式声明了一个自定义选项。看起来像这样:

import "google/protobuf/descriptor.proto";

extend google.protobuf.MessageOptions {
  string my_option = 51234;
}

message MyMessage {
  option (my_option) = "Hello world!";
}
Run Code Online (Sandbox Code Playgroud)

正在向我的代码提供一个由生成的对象MyMessage,我想读取此选项的值(在此Hello world!


更新:我没有使用protobuf-net。既然protobuf本机支持C#,那么我正在使用Google的protobuf3 C#库。

Kev*_*sse 2

看起来该功能尚未实现:https://github.com/google/protobuf/issues/1603

看起来这只是时间问题,他们愿意接受拉取请求。因此,根据您需要的时间,您可能会成为实施的人:)