首页 > Windows开发 > 详细

C# MethodInvoker委托的使用

时间:2017-08-26 14:59:45      阅读:426      评论:0      收藏:0      [点我收藏+]

一、MethodInvoker是什么?

  MethodInvoker 表示一个委托,该委托可以执行托管代码中声明为void且不接受任何参数的任何方法。在对控件的 invoke 方法进行调用时或需要一个简单委托又不想自己定义时可以使用该委托。

 


 

二、MethodInvoker如何使用

  使用MethodInvoker可以不用声明,将需要异步或同步执行的方法当做参数传递给委托实例化的MethodInvoker对象。

 MethodInvoker a = new MethodInvoker(Func);//Func需要异步执行的方法(Func为声明为void且不接受任何参数的方法)
            a.BeginInvoke(null,null);

  

  当Func方法异步执行完成后,需要对主线程的控件进行操作时代码如下

 MethodInvoker a = new MethodInvoker(Func);
            a.BeginInvoke((i =>
            {
                if (i.IsCompleted)
                {
                    if (Button1.InvokeRequired)
                    {
                        Action toDo = () => Button1.Visible = false;
                        ProWaitPanl.Invoke(toDo);
                    }
                    else
                    {
                        Button1.Visible = false;
                    }
                }
            }), null);

  Button1代表需要进行操作的控件,toDo是操作控件的具体方法。

 

C# MethodInvoker委托的使用

原文:http://www.cnblogs.com/king2317/p/7435282.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!