(第三季)210-事件

来源:互联网 发布:口袋妖怪 起源 知乎 编辑:程序博客网 时间:2024/04/28 17:21

事件

事件(event)基于委托,为委托提供了一个发布/订阅机制,我们可以说事件是一种具有特殊签名的委托。

什么是事件?

  事件(Event)是类或对象向其他类或对象通知发生的事情的一种特殊签名的委托.

事件的声明

  public event 委托类型 事件名;

  事件使用event关键词来声明,他的返回类值是一个委托类型。

  通常事件的命名,以名字+Event 作为他的名称,在编码中尽量使用规范命名,增加代码可读性。

为了更加容易理解事件,我们还是以前面的动物的示例来说明,有三只动物,猫(名叫Tom),还有两只老鼠(Jerry和Jack),当猫叫的时候,触发事件(CatShout),然后两只老鼠开始逃跑(MouseRun)。接下来用代码来实现。(设计模式-观察者模式)

using System;namespace CatCry{    class Program    {        public delegate void MyDelegate();        //public MyDelegate mydelegate;  // 声明了一个委托类型的变量, 作为类的成员         //        public event MyDelegate mydelegate;  // 事件的申明只能作为类里面的成员来使用,使用方法和委托一样        //        static void Main(string[] args)        {            Program p = new Program();            p.mydelegate = Test1;            p.mydelegate();            //            Console.ReadKey();        }        static void Test1()        {            Console.WriteLine("test1");        }    }}        


0 0