zoukankan      html  css  js  c++  java
  • 委托

    委托的含义是:委托是对函数的封装,可以当作给方法的特征指定一个名称,而事件只是委托的一种特殊形式,当发生有意义的事,事件对象处理通知的过程。委托是一种引用方法的类型,一旦为委托分配方法,委托将与该方法具有相同的行为。

    委托对象的关键字是delegate 用法: public delegate void CatShoutEventHandler();

    事件对象关键字 even 用法:public event CatShoutEventHandler CatShout;

    下面有个代码例子是关于猫来了,对老鼠的通知。是通过委托实现的,这些知识都是通过大话设计模式中学习到的,具体代码如下:

    namespace MyDelegate
    {
        class Cat
        {
            private string name;
            public Cat(string name)
            {
                this.name = name;
            }
            public delegate void CatShoutEventHandler();
            public event CatShoutEventHandler catShout;
            public void Shout()
            {
                Console.WriteLine("瞄,我是{0}", name);
                if (catShout != null)
                {
                    catShout();
                }
            }
        }
    }

    namespace MyDelegate
    {
        class Mouse
        {
            private string name;
            public Mouse(string name)
            {
                this.name = name;
            }
            public void Run() {
                Console.WriteLine("猫来了,{0}快跑", name);
            }
        }
    }

    namespace MyDelegate {     class Program     {         static void Main(string[] args)         {             Cat cat = new Cat("Tom");             Mouse mouse1 = new Mouse("Jack");             Mouse mouse2 = new Mouse("Jerry");             cat.catShout += new Cat.CatShoutEventHandler(mouse1.Run);             cat.catShout += new Cat.CatShoutEventHandler(mouse2.Run);             cat.Shout();             Console.ReadLine();

            }     } }

  • 相关阅读:
    iOS开源App整理
    iOS9 3DTouch 之 Home Screen Quick Actions
    UITabbarController & UITabbar 学习
    Linux一些最基础操作
    logo的表现形式
    LOGO设计中出现文字背后的意义
    标志设计中选择合适的字体
    sketch制作LOGO(三) ---大熊猫
    sketch制作LOGO(二) ---樱花婆婆
    十多个app引导页面欣赏
  • 原文地址:https://www.cnblogs.com/chmblog/p/5630701.html
Copyright © 2011-2022 走看看