通常,当我编写可以由用户使用某种绑定(bind)编辑的类的属性时...为了防止执行 GUI 逻辑,我不允许为属性分配相同的值:
public PMSAccountingYear AccountingYear{
get { return _accountingYear; }
set{
if(_accountingYear == value)
return;
_accountingYear = value;
NotifyOtherProperties();
LogChanges();
EmallToTheBoss();
Errr();
BlowBombInTheGarden();
Etc();
}
}
条件检查看起来并不优雅,并且无法通过任何自动代码分析检测到。 你能推荐一个更好的案例吗? 也许具有其中一个属性?
最佳答案
你所做的一切都很好;这是为 INotifyPropertyChanged 之类的东西实现 setter 的常用方法(aee 也是该页面上的示例)。
由于值没有改变,因此不需要实际更新支持字段,尤其是不要通知其他人“已更改”的值。
关于c# - 防止属性(property)重新分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316392/