2016-08-24 1 views
3

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.

+0

@Sinatr Хм, почему ты так думаешь? По-моему, это, по-видимому, довольно четко написанный и другой вопрос. Пользовательские параметры - это расширенная функция protobuf, которая не используется очень часто, но может быть весьма полезна. Кроме того, это похоже на библиотеку protobuf3 C# в Google, а не protobuf-net. – jpa

ответ

1

Похоже, эта функция не была реализована еще: https://github.com/google/protobuf/issues/1603

Это также похоже, что это только вопрос времени, и они открыты, чтобы вытащить запросы. Так что в зависимости от того, как скоро вам это понадобится, вы можете сделать это:

 Смежные вопросы

  • Нет связанных вопросов^_^