У меня есть класс, который сериализуется в и из файла XML, когда пользователь решил открыть или сохранить. Я пытаюсь добавить типичную функциональность, когда при попытке закрыть форму с несохраненными изменениями форма предупреждает их и дает возможность сохранить перед закрытием.
Я добавил свойство HasUnsavedChanges
в свой класс, которое проверяется моей формой перед закрытием. Тем не менее, немного раздражает, что мои свойства изменились с чего-то вроде этого.
public string Name
{
get;
set;
}
к этому ...
private string _Name;
public string Name
{
get
{
return _Name;
}
set
{
this._Name = value;
this.HasUnsavedChanges = true;
}
}
Есть ли лучший способ отследить изменения в экземпляре класса? Например, есть ли какой-нибудь стандартный способ, которым я могу «хэшировать» экземпляр класса в значение, которое я могу использовать для сравнения самой последней версии с сохраненной версией, не путая все свойства в классе?