Частичная десериализация из BinaryFormatter
От: A.Zanevski  
Дата: 10.09.09 14:08
Оценка:
Привет всем,
В старой версии программы список объектов со сложной внутренней структурой (внутри объектов есть списки других объектов со своей структурой) сохранялся через BinaryFormatter. В новой версии классы были пересмотрены — поменялись и названия классов и их внутреннее содержимое. Но для удобства пользователя надо прочитать некоторые поля из старого файла. Как это сделать не таская старые классы?
Я задаю в BinaryFormatter.Binder класс который для старых классов верхнего уровня (которые непосредственно хранятся в списке) выдает тип нового класса с реализацией ISerializable. Но при вызове BinaryFormatter.Deserialize в конструктор десериализации не вызывается, хотя Binder отрабатывает. Скорее всего десериализация начинается с самых вложенных объектов и там возникает ошибка. Как пропустить десериализацию вложенных объектов?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.