2013-03-09 70 views
4

通常,当我编码属性的类可以由用户使用某种绑定编辑...为防止执行GUI逻辑,我不允许分配相同的值属性:预防财产再分配

public PMSAccountingYear AccountingYear{ 
    get { return _accountingYear; } 
    set{ 
     if(_accountingYear == value) 
      return; 
     _accountingYear = value; 
     NotifyOtherProperties(); 

     LogChanges(); 
     EmallToTheBoss(); 

     Errr(); 
     BlowBombInTheGarden(); 
     Etc(); 
    } 
} 

健康检查不优雅的样子,并不能与任何自动代码分析来检测。 你可以请建议一个更好的情况? 有一个属性可能?

+5

我认为你在这里有什么是好的。我大量使用了这个确切的模型。 – 2013-03-09 22:01:50

+0

谢谢。没有人问,它看​​起来如何。 :-) – Vitality 2013-03-11 17:06:18

回答

3

你在做什么是完美的;这是为INotifyPropertyChanged(也是该页面上的示例)实现setter的常用方法。

由于该值没有改变,因此不需要实际更新后台字段,尤其不要通知其他人“更改”值。