美文网首页
事件与委托

事件与委托

作者: 段然丶 | 来源:发表于2017-09-03 20:19 被阅读0次

    委托是一个类,

    它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递

    可以在两个类之间传递方法,破坏了封装行

    例子:董事长监听雇员玩游戏

    public delegate void DelegateClassHandle();//在类的外面,委托就是一个类

    public class Employee

    {

        //定义了一个DelegateClassHandle类型的事件PlayGame,它的定义方式也很特殊,首先必须使用关键字event,表示PlayGame是一个事件,同时还必须声明该事件的委托类型为DelegateClassHandle,即将来由该类型的委托对象负责通知事件。

                   public event DelegateClassHandle PlayGame;

                        public void Games()

                          {

                                    if (PlayGame != null)

                                       {

                                       PlayGame();//与事件一致

                                             }

                             }

    }

    public class Admin

    {

               public void Notify()

                   {

                     System.Console.WriteLine("someone is playing game");

                        }

    }

    employee.PlayGame += new DelegateClassHandle(admin.Notify);

    employee.Games();

    相关文章

      网友评论

          本文标题:事件与委托

          本文链接:https://www.haomeiwen.com/subject/cxfddxtx.html