C#で、自前でイベントを発火させる際、
ハンドラが1つも登録されていない状態でInvokeしようとすると
NullReferenceExceptionになっちゃうんで、
Nullでないことを確認してから呼び出す必要があります。
public event PropertyChangedEventHandler PropertyChanged; protected void RaisePropertyChanged(string propertyName) { //nullでないことを確認してから if (PropertyChanged != null) { //発火 PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }
シングルスレッドで動くことがわかってる場合は
上のような書き方でも問題ないんだけども、
マルチスレッドで動く場合はちょいとまずい。