我正在编写一些类,我想通过实现INotifyPropertyChanged使它们全部“符合数据绑定”(对于 WPF,甚至可能是更罕见的 WinForms)。
问题是重复的代码。实际上,我一遍又一遍地复制粘贴相同的方法(我不是在开玩笑)。
protected void OnPropertyChanged([CallerMemberName] String propertyName = null)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
我有一段时间遇到这个问题,但今天特别是它一次又一次地发生,所以我希望你能帮助我解决问题。我有近十几个类都有这种方法,我真的很讨厌重复那段代码。
我想创建一个基类来实现它(NotifyPropertyChangedObject
也许是为了名字),但这可能是一个坏主意,它会真正限制我的类而没有多重继承。
我也想到了一个扩展方法,但我想把它作为一种protected
方法,所以这也行不通。
可以做些什么来解决这个问题?