У меня есть несколько простых экземпляров сущностей, которые я сериализовал в файл. В будущем я знаю, что структура этих объектов (то есть, может быть, я переименую имя в заголовок или что-то). Дело в том, что я не хочу потерять данные, которые я сохранил во всех этих старых файлах. Что является правильным способом либо
- загрузка данных из старых сущностей в новые сущности
- обновить старые файлы, чтобы их можно было использовать с новыми сущностями
Примечание: я думаю, что застрял с двоичной сериализацией, а не с сериализацией XML.
Заранее спасибо!
Редактировать: Итак, у меня есть ответ на случай, который я описал. Я могу использовать dataContractSerializer и сделать что-то вроде
[DataMember("bar")]
private string foo;
и измените имя в коде и оставьте то же имя, которое использовалось для сериализации. Но как насчет следующих дополнительных случаев:
- У исходного объекта есть новые члены, которые можно сериализовать
- Некоторые сериализованные элементы, которые были в исходной сущности, удаляются
- Некоторые члены фактически изменили свою функцию (предположим, что в исходном классе были члены FirstName и LastName, и он был реорганизован, чтобы иметь только элемент FullName, который объединяет оба)
Чтобы справиться с этим, мне нужен какой-то класс десериализации переводчика / переводчика, но я понятия не имею, что мне следует использовать