4

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

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

        LogChanges();
        EmallToTheBoss();

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

条件检查看起来并不优雅,并且无法通过任何自动代码分析来检测。你能推荐一个更好的案例吗?可能具有其中一个属性?

4

1 回答 1

3

您正在做的事情非常好;这是为INotifyPropertyChanged之类的东西实现设置器的常用方法(aee 也是该页面上的示例)。

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

于 2013-03-09T23:01:59.720 回答