概述
原文:http://www.cnblogs.com/rockniu/archive/2009/11/03/1595031.html
这样写的好处是TestMethod在同步和异步线程下,都能顺利地被调用.
MethodInvoker和Action都是.NET 2.0内置的Delegate类型,让你方法地回调一个没有参数的方法,而不用自己去定义新的Delegate.
private void button1_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(TestMethod)); t.Start(); } public void TestMethod() { if (this.InvokeRequired) { //MethodInvoker handler = new MethodInvoker(TestMethod); Action handler = new Action(TestMethod); this.Invoke(handler, null); } else { this.Text = "Async Invoked."; MessageBox.Show("Async Invoked"); } }
.NET 3.0中有一个Action<T>,支持四个Generic的参数.
System.Action<int, int, int, int> handler2 = new Action<int, int, int, int>(Calc); this.Invoke(handler2, 1, 2, 3, 4);
public void Calc(int a, int b, int c, int d) { var r = a + b + c + d; }
最后
以上就是柔弱茉莉为你收集整理的.NET异步方法调用的例子 的全部内容,希望文章能够帮你解决.NET异步方法调用的例子 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复