zoukankan      html  css  js  c++  java
  • 声明事件 和 定义引发事件的方法

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

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

  • 相关阅读:
    find module providing package github.com/go-sql-driver/mysql: working directory is not part of a module
    深度学习中的epoch、batchsize、iterations的理解
    淘宝软件质量属性分析
    Git
    多线程
    Spark基础之Scala
    机器学习十讲第十讲
    机器学习十讲第九讲
    机器学习十讲第六讲
    本地MarkDown优雅发表
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3487087.html
Copyright © 2011-2022 走看看