Здравствуйте, IT, Вы писали:
IT>Вот классический код для INotifyPropertyChanged, сгенерированный T4: ...
IT>Как по мне, так волне себе качественное решение. А как бы ты сам решал подобную задачу? Какими-нибудь виртуальными методами?
Я бы решал добавлением новых фич в язык. Может даже введением нового ключевого слова "property", с расширяемым синтаксисом. Универсального и лаконичного формата не придумали. Поэтому надо разрешить самодельщину, ключевое слово "property" нужно было бы для сохранения читабельности, когда большой зоопарк форматов.
Например:
property[MyStyle1] string? Location
{
//...before
_location = value;
//...after
}
Оно раскроется для режима MyStyle1 в :
private string? _location;
public string? Location
{
get { return _location; }
set
{
if (_location != value)
{
//...before
_location = value;
//...after
}
}
}