1
我目前使用WPF和实现模型相关的类派生INotifyPropertyChanged
。我发现声明一些辅助方法是非常有用的。所以我想自动添加这些辅助方法:扩展方法到接口
public static class INotifyPropertyChangedHelper
{
static void notifyPropertyChanged(this INotifyPropertyChanged propertyChanged, string PropertyName = "")
{
// errors here
propertyChanged.PropertyChanged(propertyChanged, new PropertyChangedEventArgs(PropertyName));
}
static bool setField<T>(this INotifyPropertyChanged propertyChanged, ref T field, T value, [CallerMemberName]string propertyName = "")
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
propertyChanged.notifyPropertyChanged(propertyName);
return true;
}
}
给了我一个编译器错误
事件“System.ComponentModel.INotifyPropertyChanged.PropertyChanged”只有 可以出现在+的左手边=或 - =”因为是的PropertyChanged事件
有没有办法解决这个问题的一种优雅的方式
也许这将帮助:http://www.blackwasp.co.uk/INotifyPropertyChangedExt.aspx – Euphoric
这个答案也许会对你有所帮助:http://stackoverflow.com/a/4925143/2609288 – Baldrick