Если мое понимание внутренней работы этой строки верное:
public int MyInt { get; set; }
Затем он за кулисами делает следующее:
private int _MyInt { get; set; }
Public int MyInt {
get{return _MyInt;}
set{_MyInt = value;}
}
Мне действительно нужно:
private bool IsDirty { get; set; }
private int _MyInt { get; set; }
Public int MyInt {
get{return _MyInt;}
set{_MyInt = value; IsDirty = true;}
}
Но я хотел бы написать что-то вроде:
private bool IsDirty { get; set; }
public int MyInt { get; set{this = value; IsDirty = true;} }
Что не работает. Дело в том, что некоторые из объектов, которые мне нужны для IsDirty, имеют десятки свойств, и я надеюсь, что есть способ использовать автогрейдер/сеттер, но все же установить IsDirty при изменении поля.
Возможно ли это или мне просто нужно смириться с тем, чтобы утроить количество кода в моих классах?