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

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

  • 相关阅读:
    BZOJ1299 [LLH邀请赛]巧克力棒
    BZOJ1046 [HAOI2007]上升序列
    BZOJ1798 [Ahoi2009]Seq 维护序列seq
    BZOJ2045 双亲数
    BZOJ2301 [HAOI2011]Problem b
    BZOJ1021 [SHOI2008]Debt 循环的债务
    BZOJ2618 [Cqoi2006]凸多边形
    BZOJ1069 [SCOI2007]最大土地面积
    BZOJ1051 [HAOI2006]受欢迎的牛
    2017年09月23日普级组 环
  • 原文地址:https://www.cnblogs.com/lovey/p/2260072.html
Copyright © 2011-2022 走看看