zoukankan      html  css  js  c++  java
  • 委托

    委托理解起来就想c++ 函数指针

    我的理解为 : 方法的快捷方式

        delegate int AddNumDelegate(int n);
        class Program
        {
            static void Main(string[] args)
            {
                AddNumDelegate addndlgt = new AddNumDelegate(Mydelegate.AddNum);
                Console.WriteLine(addndlgt(15));
                Console.ReadLine();
            }
        }
        class Mydelegate
        {
            public static int num = 10;
            public static int AddNum(int p)
            {
                num += p;
                return num;
            }
        }

     multicasting delegate 多路委托

    delegate int AddNumDelegate(int n);
    class Program
    {
    static void Main(string[] args)
    {
    AddNumDelegate addndlgt = new AddNumDelegate(Mydelegate.AddNum);
    Console.WriteLine(addndlgt(15));
    AddNumDelegate addndlgt2 = new AddNumDelegate(Mydelegate.RemoveNum);
    Console.WriteLine(addndlgt2(15));
    //Mydelegate.num = 0;
    AddNumDelegate addndlgtALL = addndlgt + addndlgt2;
    Console.WriteLine(addndlgtALL(15));
    Console.ReadLine();
    }
    }
    class Mydelegate
    {
    public static int num = 10;
    public static int AddNum(int p)
    {
    num += p;
    return num;
    }
    public static int RemoveNum(int p)
    {
    num -= p;
    return num;
    }
    }

  • 相关阅读:
    Python一键安装缺失库
    Python画樱花树❀
    Python时间模块time
    Python的画五角星
    力扣225.用队列实现栈
    STL是个啥?
    如何使用递归遍历对象获得value值
    JS操作未跨域iframe里的DOM
    CSS3D效果
    前端轮播小结
  • 原文地址:https://www.cnblogs.com/handsomer/p/4546858.html
Copyright © 2011-2022 走看看