zoukankan      html  css  js  c++  java
  • 事件

    发布器类:

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

    订阅器类:

    定义方法

    其他类:

    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("这是最简单的事件");
      }
    }

    自动驱动未来
  • 相关阅读:
    知多少进程?
    提高.NET应用性能
    战术设计DDD
    win7下exe文件设置为开机启动
    CQRS项目
    DDD总览
    ML.Net Model Builder
    MySQL主主复制搭建教程收集(待实践)
    MySQL主从复制搭建教程收集(待实践)
    MySQL集群方案收集
  • 原文地址:https://www.cnblogs.com/rb-huang/p/13355359.html
Copyright © 2011-2022 走看看