委托使用方法总结

简单使用委托的几种方法总结

说明:Invoke同步BeginInvoke异步


无参数的委托:
          
           this.Invoke(new MethodInvoker(() =>     
                {
                    事件方法
                }));

  

       或者:


           this.Invoke(new MethodInvoker(delegate
            {
                事件方法
            }));

含参的委托:


       定义:
   
    public delegate int AddHandler(int a, int b);
        private int Add(int a, int b)
        {
            //事件方法
            return a + b;
        }


        调用:
            AddHandler handler = new AddHandler(Add);
            int result = handler.Invoke(1, 2);


含参的异步委托:

        定义:

        //异步日志记录委托
        private delegate bool AddDelegate(string userName, int logType, string logDetail, string ip, string provinceName);


        调用:

                AddDelegate dn = new AddDelegate(logBll.AddUserLog);
                //0 登陆 
                IAsyncResult isr = dn.BeginInvoke(userName, 0, "登录", IpHelper.GetLocalIP(), model.Province, null, dn);
                dn.EndInvoke(isr);


微软封装好的委托定义-直接使用

调用:

//无参同步
            Action s = new Action(openURL);
            s.Invoke();
//无参异步
            Action s = new Action(SeacherURL);
            s.BeginInvoke(null, "");
//带参异步
            Func<int,int,dynamic> fc=new Func<int,int,dynamic>(test);
            dynamic returndata = fc.Invoke(1, 2);
            fc.BeginInvoke(1, 2, null, null);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值