methodinvoker怎么用

这篇文章给大家分享的是有关methodinvoker怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

  MethodInvoker如何使用

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

  MethodInvokera=newMethodInvoker(Func);//Func需要异步执行的方法(Func为声明为void且不接受任何参数的方法)

  a.BeginInvoke(null,null);

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

  MethodInvoker代码

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

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

感谢各位的阅读!关于“methodinvoker怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!