Earlier questionProtobuf внутрисетевой Версия Толерантность
Я надеялся использовать protobuf-net в распространяемом пакете библиотеки, который будет включен в нескольких приложениях. Каждое приложение должно будет иметь возможность открывать файлы, которые были сериализованы библиотекой, манипулировать объектами, а затем сохранять/сериализовать обратно в файл. Конечно, проблема с версией становится большой проблемой. Я не хочу потерять данные, если более старая версия обходит файлы, созданные из более новой версии. Затем я нашел базовый класс ProtoBuf.Extensible
, но быстро обнаружил, что ProtoBuf.IExtensible
не поддерживает классы с наследованием. У меня обязательно должно быть наследство.
Есть ли у меня опции? Я начинаю чувствовать сериализацию с терпимостью к версии, и что-то большее, чем простейший из классов, - это мечта.
это позор, я люблю '[MakeItWork]' магия однострочных;) Я планирую посмотреть источник завтра. – Ethan
@ Это предостережение: безумное количество метапрограмм. IIRC, TypeSerializer является ключевым типом здесь. Проблема здесь, однако, в основном является конструктивной: как правильно правильно округлить данные. Возможно, проблема заключается в том, что на самом деле это методы «добавить расширенные данные» - возможно, им нужен спецификатор типа (возможно, только в случае наследования), чтобы указать, на каком уровне эти гипотетические гипотезы существуют. –