热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> .Net编程>>正文内容

简单实现.NET异步方法调用的例子

发布时间:2010年02月01日点击数: 佚名

这样写的好处是TestMethod在同步和异步线程下,都能顺利地被调用.

MethodInvoker和Action都是.NET 2.0内置的Delegate类型,让你方法地回调一个没有参数的方法,而不用自己去定义新的Delegate.

  1. private void button1_Click(object sender, EventArgs e) 
  2.     Thread t = new Thread(new ThreadStart(TestMethod)); 
  3.     t.Start(); 
  4.  
  5. public void TestMethod() 
  6.     if (this.InvokeRequired) 
  7.     { 
  8.         //MethodInvoker handler = new MethodInvoker(TestMethod); 
  9.         Action handler = new Action(TestMethod); 
  10.          
  11.         this.Invoke(handler, null); 
  12.     } 
  13.     else 
  14.     { 
  15.         this.Text = "Async Invoked."
  16.         MessageBox.Show("Async Invoked"); 
  17.     } 
  18. public void Calc(int a, int b, int c, int d) 
  19.         { 
  20.             var r = a + b + c + d; 
  21.         } 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作