TL; DRЧтение protobuf3 пользовательский вариант из C#
Согласно документу, если бы я делал C++, я мог бы прочитать значение пользовательского варианта с использованием string value = MyMessage::descriptor()->options().GetExtension(my_option);
. Аналогичные примеры для Java и Python. Но я делаю C#, и я мог бы найти эквивалент. Могу ли я это сделать, и если да, то как?
Подробнее
Я манипулируя классы, созданные с помощью protobuf3. Схемы объявляют custom option. Это выглядит следующим образом:
import "google/protobuf/descriptor.proto";
extend google.protobuf.MessageOptions {
string my_option = 51234;
}
message MyMessage {
option (my_option) = "Hello world!";
}
Мой код предоставляется объект генерируется из MyMessage
, и я хотел бы прочитать значение этого параметра (здесь Hello world!
)
Update: Я m не используя protobuf-net. Теперь, когда C# изначально поддерживается protobuf, я использую библиотеку protobuf3 C# Google.
@Sinatr Хм, почему ты так думаешь? По-моему, это, по-видимому, довольно четко написанный и другой вопрос. Пользовательские параметры - это расширенная функция protobuf, которая не используется очень часто, но может быть весьма полезна. Кроме того, это похоже на библиотеку protobuf3 C# в Google, а не protobuf-net. – jpa