Буферы протокола С# .net - поддержка protobuf-net для сериализации словаря значений объекта?

Я новичок в буферах протоколов и использую protobuf-net для VS2010. из того, что я здесь читаю Dictionary in protocol buffers, не похоже, что protobuf может сериализовать словарь с типами объектов в качестве значений. но здесь, на его сайте, я прочитал это:

Заметки о поддерживаемых типах

:

пользовательские классы, которые: помечены как контракт данных, имеют параметр без параметров конструктор для Silverlight: открыты многие общие примитивы и т. д. одномерные массивы: T[] List / IList Словарь / IDictionary любого типа, который реализует IEnumerable и имеет метод Add(T). Код предполагает эти типы будут изменяться вокруг избранных членов. Соответственно, пользовательские структуры не поддерживаются, поскольку они должны быть неизменяемыми.

, похоже, поддерживается.

Я могу успешно скомпилировать список объектов следующим образом:

message ValuesObject {
    optional int32 SomeVal = 1;
    repeated SomeClass ListOfSomeClassTypes = 2;
}

Это прекрасно работает для List. Почему я не могу сериализовать с помощью protobuf-net a Dictionary? Как будет выглядеть сообщение для сериализации Dictionary?

8
задан Community 23 May 2017 в 12:06
поделиться