5

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));
        }

    }

ありがとうございました。

4

1 に答える 1

9

誰もイベントにサブスクライブしていない場合は null になります。したがって、そうしないと、実行時にイベントで NullReferenceException が発生します。

あなたが話しているインターフェイスの場合、 INotifyPropertyChanged インターフェイスはかなりおしゃべりであるため、サブスクライバーがサブスクライブする機会が差し迫っているにもかかわらず、サブスクライバーがサブスクライブする前に発生アクションが発生する可能性もあります。

于 2013-04-19T10:16:51.840 に答える