基本上我想做这样的事情:
public static void OnPropertyChanged(this INotifyPropertyChanged changedObject, string propertyName)
{
var handler = changedObject.PropertyChanged;
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(changedObject, e);
}
}
这给出了“System.ComponentModel.INotifyPropertyChanged.PropertyChanged 只能在 += 或 -=" 的左侧使用
我的意思是我可以通过这样做来解决它:
public static void RaisePropertyChanged(this PropertyChangedEventHandler handler, object sender, string propertyName)
{
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(sender, e);
}
}
但调用代码看起来不太好:
PropertyChanged.RaisePropertyChanged(this, "Name");
与这个:
this.OnPropertyChanged("Name");
没什么大不了的,但是能够像调用实例方法一样调用它会很好。