Это не привязка данных, на которую он ссылается, а INotifyPropertyChanged
(и аналогичная) часть, которую AOP будет действительно сиять.
В настоящее время, когда класс реализует INotifyPropertyChanged
, свойства выглядят так:
private bool _isSomeProperty;
public bool IsSomeProperty
{
get{ return _isSomeProperty;}
set
{
if( value != _isSomeProperty)
{
_isSomeProperty = value;
OnNotifyPropertyChanged( "IsSomeProperty");
}
}
}
Где при приличном АОП они могут выглядеть следующим образом
[NotifyOnChange]
public bool IsSomeProperty {get; set;}
Вносит большую разницу в читаемость, особенно когда в установщике для пары свойств есть несколько реальных правил.
Даже при использовании базовых базовых классов, выражений, отражений и некоторых хитрых реализаций лучшее, на что вы надеетесь, это:
private bool _isSomeProperty;
public bool IsSomeProperty
{
get{ return _isSomeProperty;}
set
{
SetAndNotify( x=>x.IsSomeProperty)
}
}
И даже это не так читабельно (и также менее производительно)