Diserialize в существующие объекты используя стандартный форматер
Штатная десериализация .net всегда создает граф новых объектов. Это не всегда удобно.- Например если объекты содержат несериализуемые данные, открытые хэндлы и прочее.
- Объекты не попадающие в сериализацию могут иметь ссылки на зачитываемые объекты и т.п. Особенно это актуально, если ваша сборка используется еще кем то, и вы не можете решить все подобные случаи при помощи правильного дизайна.
- И в конце концов ради небольшого Undo полностью пересоздавать объекты нерационально.
Поиск не дал готового ответа. Есть не самые простые решения с использованием protobuf и прочих сторонних сериализаторов, но это не всегда применимо.
Задача в целом несложная, и мое решение не является чем то выдающимся, но с другой стороны, тем кто впервые столкнется с похожей проблемой — будет проще.
Читать дальше →