当我更改房产时,我需要一个事件来解雇.当我运行此代码时,我得到的Object引用未设置为对象的实例.我究竟做错了什么?实例化事件的正确方法是什么,并在设置属性时触发它?
公众成员:
public event System.EventHandler ClassChanged;
Run Code Online (Sandbox Code Playgroud)
属性集:
ClassChanged(this, EventArgs.Empty);
Run Code Online (Sandbox Code Playgroud)
您需要首先验证事件处理程序是否为null:
if (ClassChanged != null)
ClassChanged(this, EventArgs.Empty);
Run Code Online (Sandbox Code Playgroud)
但总的来说,您可能希望将其包装成一个辅助方法,如下所示:
private void NotifyClassChanged() {
if (ClassChanged != null)
ClassChanged(this, EventArgs.Empty);
}
Run Code Online (Sandbox Code Playgroud)
或者可能实现INotifyPropertyChanged.