我可以重构几个类似的属性吗?

本文关键字:属性 几个 重构 我可以 | 更新日期: 2023-09-27 18:37:09

我有几个类,当它们的属性值发生变化时,它们会发出 PropertyChanged。我有一个基类,它派生自 INotifyPropertyChanged,并实现了 PropertyChanged 事件和方法 OnPropertyChanged。

我的其他类派生自这个基类,然后它们的所有属性都遵循相同的模式:有一个保存值的类变量和一个读取/设置此变量的属性,以及在setter中调用OnPropertyChanged。

private int number = 42;
public int Number
{
    get { return number; }
    set { number = value; OnPropertyChanged("Number"); }
}

这段代码开始出现得如此之多,我想知道我是否可以以某种方式重构它以减少每个属性的行数。还是尝试减少这六行代码(+3行注释规范)是矫枉过正?

我可以重构几个类似的属性吗?

您可能想研究一些用于注入属性更改通知的构建时工具,一个快速的谷歌出现了 https://github.com/Fody/PropertyChanged 但它不是我在我公司的项目中看到的那个。在我的头顶上,我无法回忆他们使用了哪一个。