Я пытаюсь создать функцию, которая будет сохранять текущее состояние моего приложения в файл, и другую функцию для загрузки сохраненного файла. В настоящее время вся информация содержится в одном объекте, который, в свою очередь, относится к другим объектам. Недавно я слышал, что в C # есть некоторые встроенные классы, которые помогают вам сериализовать и десериализовывать ваши объекты, поэтому я провел небольшое исследование и узнал о DataContracts, в основном на этой странице:
Большинство из них работает, за исключением классов, которые реализуют встроенные классы. Например, у меня есть объект, который наследует System.Windows.DependencyObject, и когда я пытаюсь его сериализовать, он жалуется, что мой класс наследует класс, который не имеет атрибута DataContract.
Для меня имеет смысл, почему это будет проблемой. Когда объект десериализуется, его конструктор не вызывается. Если он наследует что-то, что не сериализуемо, это может оставить его в недопустимом состоянии.
Мне было интересно, возможно ли это: могу ли я как-то сказать десериализатору вызвать конструктор по умолчанию базового класса перед десериализацией моего объекта? И тогда я должен был бы сказать сериализатору, чтобы он не волновался.