• 委托


    委托理解起来就想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;
    }
    }

  • 相关阅读:
    学习 swift (1)
    Sbulime Text 2 修改选中字符串的颜色
    js string 和 json 互转
    Mac OSX sublime text2 各种快捷键
    webstorm keymap
    python http post json
    node.js async 几个函数
    python 爬图 helloworld
    合服导致 globalserver 起不来的问题
    ssh 登陆 端口转发
  • 原文地址:https://www.cnblogs.com/handsomer/p/4546858.html
Copyright © 2020-2023  润新知