zoukankan      html  css  js  c++  java
  • delegate

    一,委托的使用基本步骤:
    1,声明委托类型  public delegate void MyDelegate(string name ,int age);

    2,创建一个委托,指引方法到委托  MyDelegate handler=new MyDelegate(MehtodOfMyDelegate);// 不用构造函数的 MyDelegate handler= MehtodOfMyDelegate;

    3,调用委托(如果函数) handler("yindongli",25);


    二,异步回调(将委托作为参数传递)
    基本步骤同上,
    如:
    public void MethodWithCallback(string name,int age,MyDelegate callback)
    {
        callback(name,age);
    }
    异步回调使用
    MethodWithCallback("dongli",35,handler);


    详细代码:
        class Program
        {
            public delegate void userEventHandler(string name,int age);
            static void Main(string[] args)
            {
                Program p = new Program();
                userEventHandler handler = new userEventHandler(p.ShowUser);//或者 =ShowUser;
                handler("dongli",234);
                //调用异步回调函数

                p.MethodWithCallback("dongli",23,handler);
            }
            public void ShowUser(string name, int age)
            {
                Console.WriteLine("UserName:{0},Age:{1}",name,age);
            }

            //异步回调  函数  ---将委托作为参数
            public void MethodWithCallback(string name, int age, userEventHandler callback)
            {
                callback(name,age);
            }
        }

    三,多路广播
    用(+,+=,-,-=)为委托连续添加处理方法

  • 相关阅读:
    Search Insert Position
    *Set Matrix Zeroes
    Spiral Matrix II
    *Spiral Matrix
    combination的eclipse运行结果
    [?]*Combination(递归调用好难)
    [?]*Subset
    *3Sum Closest
    Why am I getting an Unreachable Statement error in Java?
    windows下,emacs的配置文件在哪儿?
  • 原文地址:https://www.cnblogs.com/lovey/p/2260072.html
Copyright © 2011-2022 走看看