声明事件 和 定义引发事件的方法
下面这种形式是比较常见的“一种”,当然还有其它的形式:
public event Action<AlarmData> NewAlarmDataArrivingEvent; //声明事件
//定义一个方法,在该方法中封装了引发事件的代码,该方法的参数通常为事件的处理方法的参数。在需要引发事件的地方,调用该方法即可
private void RaiseArrivingEvent(AlarmData newAlarm)
{
if (newAlarm != null && !bisInitializing && NewAlarmDataArrivingEvent != null) //引发事件的限制条件
{
NewAlarmDataArrivingEvent(newAlarm); //引发事件的代码
}
}
public event Action<IList<AlarmData>> BatchAlarmDataRemovedEvent;
private void RaiseRemovingEvent(IList<AlarmData> abandonedAlarms)
{
if (abandonedAlarms != null && abandonedAlarms.Count > 0 && !bisInitializing && BatchAlarmDataRemovedEvent != null)
{
BatchAlarmDataRemovedEvent(abandonedAlarms);
}
}