Как добавить класс в protobuf-сеть - PullRequest
1 голос
/ 27 апреля 2011

Я пользуюсь protobuf-net, и он мне пока нравится, но меня беспокоит одна вещь.У меня есть класс, который я хотел бы использовать в сообщении, но его нет в моем источнике.

примерно так: [ProtoContract] class Test{ [ProtoMember(1)] public Otherclass Attr {get;set} } но ProtoBuf не знает, как сериализовать Otherclass, и я не могу получить доступ к его коду.Поэтому мне нужно рассказать, как это сделать, но как?

1 Ответ

1 голос
/ 28 апреля 2011

В v1 вы не можете, если только у него нет атрибутов xmlaerializer или datacontractserializer.Ну, это не вполне правда ... Там есть a GlobalOptions переключатель, который должен работать теоретически, но не очень терпимо, если тип меняется,поскольку это выводит много.

Лучший вариант здесь - взглянуть на «v2», который доступен в виде альфа-загрузки.Ваши приписанные типы должны быть в порядке, но вы также можете указать модели типов, как обрабатывать неназначенные типы;это все через RuntimeTypeModel.

...