この質問にはすでに答えがあります。
私はiNotifyPropertyChangedを詳しく読んでいます。
誰かがなぜ私たちがチェックする必要があるのかを明確にしてもらえますかPropertyChanged !=null
?
イベントがnullになるのはなぜですか?または言い換えれば、なぜそれがnullであるかどうかさえチェックしますか?唯一の時間NotifyPropertyChanged
呼び出されるのはいつですかPropertyChanged
提起されているので(それはnullにすることはできません)、そうではありません。誰が/それをnullにすることができますか?
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
{
PropertyChanged(this,new PropertyChangedEventArgs(info));
}
}
ありがとうございました。
誰もそのイベントを購読していない場合はnullになります。そうでなければ、実行時にイベントに対してNullReferenceExceptionが発生します。
あなたが話しているインターフェースの場合、INotifyPropertyChangedインターフェースはかなり雑然としているので、彼らが購読しようとしているにもかかわらず購読者が購読する機会を得る前に、それも上がる行動が起こるだろう。
null
いくつかの理由があります。最初の理由はかもねnull
。 2つ目は、そのプロパティがWPFコンポーネントでは使用されていないが、サポートとして裏側で使用されていない場合、その理由はありません。PropertyChanged
登録他にも多くの場合があります。したがって、理由1は理由あなたがチェックするnull
いずれの場合も。 - Mike Perrenoud