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();

            }     } }

  • 相关阅读:
    Java之final关键字
    Java之代码块
    Java之单例设计模式
    Java之数组
    python基础知识第九篇(函数)
    css--属性
    css-选择器
    css--引入css的3种方法
    html--多选
    python-列表--处理
  • 原文地址:https://www.cnblogs.com/chmblog/p/5630701.html
Copyright © 2011-2022 走看看