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#库。
看起来该功能尚未实现:https://github.com/google/protobuf/issues/1603
看起来这只是时间问题,他们愿意接受拉取请求。因此,根据您需要的时间,您可能会成为实施的人:)