2012-05-20 11 views
10

私は両方が同じだと思うけど、私はそれらの使用が見つかりました。以下のようなコードです。コードはraisepropertychangedです。ここraisepropertychangedとPropertyChangedの違いは何ですか?

public decimal Amount 
     { 
      get 
      { 
       return _amount; 
      } 
      set 
      { 
       _amount = value; 
       RaisePropertyChanged("Amount"); 
      } 
     } 

のPropertyChangedのためのコード:

public event PropertyChangedEventHandler PropertyChanged; 

    private void RaisePropertyChanged(string propertyName) 
    { 
     // take a copy to prevent thread issues 
     PropertyChangedEventHandler handler = PropertyChanged; 
     if (handler != null) 
     { 
      handler(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    } 

plzは、それらの間の違いを説明する:

+0

コードを理解できませんでした。もっと説明できますか? –

答えて

8

PropertyChangedはイベントです。 RaisePropertyChangedは、イベントを発生させるためのメソッドです。

もちろん、プロパティ設定ツールから直接イベントを呼び出すこともできますが、ハンドラがnullでない場合は常にチェックする必要があります。

+1

イベントは 'Entity'にあります。違いはありません。彼は自分のクラスでイベントと呼び出しメソッドを持つことができますか、または彼はその基本クラスでそれを持つことができます。イベントと方法の両方がまだ存在します。 'エンティティ'は単に 'RaisePropertyChanged'を使ってイベント処理をラップします – SimpleVar

+1

何が違いますか?イベントとメソッドの間?もちろんあります!そして再び、OPはEntityについて何も言わなかった... –

+1

もちろんイベントとメソッドの違いがありますが、そうではありません。イベントはどちらかの方法であり、方法もそこにあります。問題は、USINGのRaisePropertyChangedと通常のPropertyChangedイベントの違いについてです。 – SimpleVar

関連する問題