”猫叫老鼠跑“来记忆委托和事件
 
主要事件执行类:
class //函数入口
{
      static void main(string[] args)
       {
              cat cat = new cat();
              mouse mouse = new mouse();
              cat.Emethod + =new cat.deletagehandler(mouse.run()); //注册事件 【触发委托订阅的方法】
               cat.cry();
              console.ReadKey();
       }
}
 
 class cat //猫类
 {
      public  delegate void delegatehandler(); //定义委托
      public event delegatehandler Emethod; //定义事件
      public event
       public delegate void  cry()
       {
            Console.WriteLine("miao!");
            raiseEvent();
       }
      public void raiseEvent()
      {
             //如果注册过事件则触发事件
              if(Emethod!=null)
              {
                     Emethod();
              }
      }
     
 }
 
class mouse //鼠类
 {
    public void run() //委托的方法
   {
         Console.WriteLine("猫来了,快跑!");
   }
 }
 
 
=======
打印当然是结果:
miao!
猫来了,快跑!
 
有2点我们是需要理解的:
1.委托是用来订阅方法的
2.事件是需要注册的
 
还有1点我们需要明白的是:事件引入的目的就是一个类函数中为了触发另一个类中的函数。
 
归纳起来事件使用步骤如下:
1.定义委托
2.定义事件
3.编写事件处理函数
4.注册事件
5.触发事件