Мне было интересно, пытался ли кто-нибудь сделать что-то вроде этого:
public bool SetMappedProperty<TC,TV>(ref TC cont, TV value, [CallerMemberName] string propertyName = null)
{
var prop = cont.GetType().GetProperty(propertyName);
var old = prop.GetValue(cont, null);
if (Equals(old, value)) { return false; }
prop.SetValue(cont, value);
RaisePropertyChanged(propertyName);
return true;
}
и использовал это так:
public override MyType MyProperty
{
get { return _myData.MyProperty; }
set { SetMappedProperty( ref _myData, value); }
}
реактивные расширения WhenanyValue - также могут помочь