声明事件 和 定义引发事件的方法

       下面这种形式是比较常见的“一种”,当然还有其它的形式:

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

posted @ 2013-12-23 11:14  长白山  阅读(228)  评论(0编辑  收藏  举报