通常,当我编写可以由用户使用某种绑定编辑的类的属性时......为了防止执行GUI逻辑,我不允许为属性分配相同的值:
public PMSAccountingYear AccountingYear{
get { return _accountingYear; }
set{
if(_accountingYear == value)
return;
_accountingYear = value;
NotifyOtherProperties();
LogChanges();
EmallToTheBoss();
Errr();
BlowBombInTheGarden();
Etc();
}
}
条件检查看起来不优雅,并且无法通过任何自动代码分析检测到。 你能建议一个更好的案例吗? 有一个属性可能吗?
答案 0 :(得分:3)
你在做什么都很好;这是为INotifyPropertyChanged之类的东西实现setter的常用方法(aee也是该页面上的示例)。
由于价值未发生变化,因此无需实际更新支持字段,尤其是不通知其他人“更改”值。