/// <summary> /// 触发状态改变事件 /// </summary> /// <param name="e"></param> protected virtual void OnStatusChange(StatusChangeEventArgs e) { //--处于线程安全考虑,将委托字段的引用复制到一个临时字段中 EventHandler<StatusChangeEventArgs> temp = Interlocked.CompareExchange<EventHandler<StatusChangeEventArgs>>(ref StatusChange, null, null); //--任何方法登记了对事件的关注,就通知它们 if (temp != null) temp(this, e); }
/// <summary> /// 触发状态改变事件 /// </summary> /// <param name="e"></param> protected virtual void OnStatusChange(StatusChangeEventArgs e) { //--处于线程安全考虑,将委托字段的引用复制到一个临时字段中 EventHandler <StatusChangeEventArgs> temp = Interlocked.CompareExchange <EventHandler <StatusChangeEventArgs> >(ref StatusChange, null, null); //--任何方法登记了对事件的关注,就通知它们 if (temp != null) { temp(this, e); } }