zoukankan      html  css  js  c++  java
  • 事件

    先简单说下委托和事件:
      委托是一个神奇的东西,简单来说它是一个指向方法的类型。
      事件是一个委托类型的变量。
      事件有发布器和订阅器,其实本质就是个 观察者模式。

    关于事件,直接上 Demo:
     1     /// <summary>
     2     /// 发布类
     3     /// </summary>
     4     class Summer
     5     {
     6         // 定义一个委托
     7         public delegate void SummerComeEventHandler();
     8         // 声明一个委托类型变量,即 "夏天来了" 事件
     9         public event SummerComeEventHandler SummerComeEvent;
    10 
    11         public void SummerCome()
    12         {
    13             Console.WriteLine("Summer is Coming!");
    14             // 触发 "夏天来了" 事件
    15             SummerComeEvent();
    16         }
    17     }
    18 
    19     /// <summary>
    20     /// 订阅器
    21     /// </summary>
    22     class Spring
    23     {
    24         public Spring(Summer summer)
    25         {
    26             // 订阅 "夏天来了" 事件,并回应 "春天走了"
    27             summer.SummerComeEvent += this.SpringGone;
    28         }
    29 
    30         public void SpringGone()
    31         {
    32             Console.WriteLine("Spring is gone");
    33         }
    34     }
    35 
    36     class Program
    37     {
    38         static void Main(string[] args)
    39         {
    40             Summer summer = new Summer();
    41             Spring spring = new Spring(summer);
    42             summer.SummerCome();
    43             Console.ReadKey();
    44         }
    45     }
    View Code

      结果:

      

    以上。

    朱子家训说:宜未雨而筹谋,勿临渴而掘井。 任何事情要到了跟前才想解决办法,那我们岂不很被动!
  • 相关阅读:
    springSecurity登陆与退出json形式交互
    SQL-Mysql表结构操作
    SQL-Mysql数据类型
    SQL-SQL事物操作
    springboot之Validation参数校验
    springSecurity之java配置篇
    springsecurity入门篇
    springboot集成shiro
    13个不low的JS数组操作
    基于canvas的五子棋
  • 原文地址:https://www.cnblogs.com/jianyingjie/p/11310604.html
Copyright © 2011-2022 走看看