У меня есть класс настроек, который я хочу, чтобы иметь возможность сериализации и десериализации для сохранения и загрузки настроек в файл.Можно ли десериализовать текущий класс?
Оглядываясь назад, я бы разработал все мое приложение, чтобы создать экземпляр настроек, когда это необходимо. Как бы то ни было, мои настройки являются постоянными (имитируя поведение настроек приложений по умолчанию). Учитывая мои нынешние архитектуры, я могу сделать следующее:
public void Save()
{
Stream stream = File.Open("settings_test.xml", FileMode.Create);
XmlSerializer x = new XmlSerializer(this.GetType());
x.Serialize(stream, this);
}
Очевидно, что я не могу сделать это:
public void Load()
{
Stream stream = File.Open("settings_test.xml", FileMode.Open);
XmlSerializer x = new XmlSerializer(this.GetType());
this = x.Deserialize(stream);
}
Но есть способ обновить все открытые свойства тока класс, который соответствует классу десериализованного объекта?
(я полагаю, более общие вопросы это: «Есть ли эффективный способ обновить один класс на основе содержимого другого?»)
Спасибо, закончил тем, что пошел на прежний вариант. –