Сериализация с помощью ProtoBuf.NET без добавления тегов к членам

Я где-то читал комментарий автора ProtoBuf.NET, который:

Есть варианты для автоматического вывода чисел, но это непостоянно и не рекомендуется. Используйте это только в том случае, если вы знаете, что вам больше не нужно добавлять участников (они упорядочиваются в алфавитном порядке, поэтому добавление нового AardvarkCount все сломает).

Это именно та ситуация, которая меня интересует :)

У меня есть кое-что похожее на сценарий сокращения карты, когда я хочу сериализовать результаты, созданные на удаленных машинах, с использованием буферов протокола (например, «карта» сторону map-reduce), а затем прочтите их и объедините эти результаты для дальнейшей обработки (например, сторона "reduce").

Я не хочу начинать марафон декорирования атрибутов для каждого возможного класса, который у меня есть, который может сериализоваться во время этого процесса, и я считаю, что буферы протокола очень заманчивы, поскольку я могу создавать результат с помощью Mono и легко их использовать в MS.NET и наоборот ...

Очевидные недостатки отсутствия предварительной маркировки членов меня не беспокоят, поскольку точно такая же версия программного обеспечения генерирует / потребляет, поэтому мне не нужно беспокоиться о новых члены появляются в коде и портят всю мою схему ...

Короче говоря, мой вопрос:

  • Как мне это сделать (сериализовать с помощью ProtoBuf.NET без добавления тегов / создания мета-классов самостоятельно)?
  • Есть ли в моей схеме какое-нибудь отверстие, которое я явно пропустил?
14
задан damageboy 30 September 2011 в 11:32
поделиться