ITPub博客

首页 > Linux操作系统 > Linux操作系统 > .NET异步方法调用的例子

.NET异步方法调用的例子

原创 Linux操作系统 作者:iDotNetSpace 时间:2010-01-07 13:26:35 0 删除 编辑

这样写的好处是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");
}
}
public void Calc(int a, int b, int c, int d)
{
var r = a + b + c + d;
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-624592/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: C#基础——abstract
请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5766144