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