4

通常、何らかのバインディングを使用してユーザーが編集できるクラスのプロパティをコーディングする場合... GUI ロジックの実行を防ぐために、同じ値をプロパティに割り当てることはできません。

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

        LogChanges();
        EmallToTheBoss();

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

条件チェックは見栄えが悪く、自動コード分析では検出できません。もっと良いケースを教えてください。多分属性の1つで?

4

1 に答える 1

3

あなたがしていることはまったく問題ありません。これは、 INotifyPropertyChangedなどのセッターを実装する一般的な方法です(そのページの例も参照)。

値は変更されていないため、バッキング フィールドを実際に更新する必要はなく、特に「変更された」値を他のユーザーに通知する必要はありません。

于 2013-03-09T23:01:59.720 に答える