2016-06-25 18 views
0

私は観測可能な待ち行列クラスhereの実装を見た。私は理解していない2つの事を見つけました: 1. PropertyChangedとCollectionChangedという名前のイベントは、基本クラスですでに定義されています。なぜあなたは '新しい'を使用する必要はありませんか?クラス階層内のイベント

2. PropertyChangedイベントは、プロパティと同様に宣言されます。どうしてそれをするの?イベントの慣例である

protected virtual event PropertyChangedEventHandler PropertyChanged; 
event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged 
{ 
    add { this.PropertyChanged += value; } 
    remove { this.PropertyChanged -= value; } 
} 

答えて

1

基本クラスのどこにPropertyChangedCollectionChangedが定義されているのかわかりません。 ObservableStack<T>にはnewというキーワードがなくても定義できます。

また、INotifyPropertyChanged.PropertyChangedイベントの実装は明示的に行われているため、イベントアクセサの構文、つまりaddremoveを使用する必要があります。

+0

答えをもう一度見て、あなたは正しいです。基本クラスはObservableCollectionだと思いました。ありがとう! – R3turnz

-1

、イベントでは、イベントを定義するときに、あなたがこのイベントのために登録しますデリゲートの種類を指定して、あなたが委任登録にこのイベントを追加または削除することができ、単に代表団のラッパーです。

関連する問題