[原创]老鼠->猫->人 事件触发
作者:C/S框架网  发布日期:2011/06/12 18:58:09
[原创]老鼠->猫->人 事件触发

昨天晚上某个群里的朋友说他在面试.NET的时候碰到这个“老鼠,猫,人事件触发”题了,答得不是很清楚,正好自己也很久没写自定义事件的代码了,早上起来就顺便写了个,发上来让大家找找茬。

在定义事件前首先要定义一个委托类型,以用于该事件,而且返回类型和参数必须匹配。

namespace www.csframework.com
{
   public delegate void MessageHandler(); //消息委托
   class Program
   {
      static void Main(string[] args)
      {
         Mouse m = new Mouse();
         Cat c = new Cat();
         Man man = new Man();
         m.MouseMoving+=new MessageHandler(c.CatMove); //=>指定事件触发
         c.CatMoving += new MessageHandler(man.ManMove);//=>指定时间出发
         Console.WriteLine("Begin:");
         m.MouseMove();
      }
   }
   class Mouse
   {
      public event MessageHandler MouseMoving;
      
      
      public void MouseMove()
      {
         Console.WriteLine("A mouse is moving.");
         MouseMoving();
      }
      
   }
   class Cat
   {
      public MessageHandler CatMoving;
      public void CatMove()
      {
         Console.WriteLine("A cat find the mouse,and catches it.");
         CatMoving();
      }
   }
   class Man
   {
      public void ManMove()
      {
         Console.WriteLine("A man finds his cat are eating a mouse.");
      }
   }
}



C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


上一篇 下一篇