• 事件


    发布器类:

    定义一个委托,定义一个基于委托的事件,定义事件触发

    订阅器类:

    定义方法

    其他类:

    new发布器类,new 订阅器类,然后把方法绑定到事件,触发。

    public class Test
    {
        // ….
      public delegate void TestHandler();//无参数,无返回委托
      public event TestHandler TestEvent;//事件
      public void OnTestHandler()//调用
      {
        if(TestEvent != null) //不等于null 说明该事件已经注册有函数
        {
          this.TestEvent();
        }
      }
    }

    class Program
    {
      static void Main(string[] args)
      {
        Test model = new Test();//实列
        model.TestEvent += model_TestEvent;//为model 注册TestEvent事件的执行方法   这里可以绑定多个方法,然后在触发时多个方法按顺序执行

       //model.TestEvent += model_TestEvent1
        model.OnTestHandler();//调用引发事件
      }
      static void model_TestEvent()//事件执行方法,该方法样式要与委托一致(参数,返回值)  该方法可以放到单独的发布器类中
      {
        Console.WriteLine("这是最简单的事件");
      }
    }

    自动驱动未来
  • 相关阅读:
    命令行工具
    案例 WordCount
    Spark 运行环境
    启动 Local 环境
    Spark 快速上手
    spark异常处理
    第六章:(4)死锁
    第五章:(3)HashMap 集合线程不安全&解决方案
    第五章:(2)HashSet 集合线程不安全&解决方案
    第八章:(1)CountDownLatch减少计数
  • 原文地址:https://www.cnblogs.com/rb-huang/p/13355359.html
Copyright © 2020-2023  润新知