• 事件


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

    关于事件,直接上 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

      结果:

      

    以上。

    朱子家训说:宜未雨而筹谋,勿临渴而掘井。 任何事情要到了跟前才想解决办法,那我们岂不很被动!
  • 相关阅读:
    iscsi-分区类型
    NFS
    测试目录
    测试
    函数
    循环、枚举、条件判断、选择排序
    格式化、列表、元组、字典、集合
    常量、注释、变量、堆栈、数据类型、强制转换
    站点迁移至https://traceless.site/
    CENTOS7 源码安装NGINX
  • 原文地址:https://www.cnblogs.com/jianyingjie/p/11310604.html
Copyright © 2020-2023  润新知