Chinaunix首页 | 论坛 | 博客
  • 博客访问: 165724
  • 博文数量: 36
  • 博客积分: 2160
  • 博客等级: 大尉
  • 技术积分: 382
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 01:48
个人简介

喝喝咖啡,做做开发

文章分类
文章存档

2014年(4)

2013年(1)

2012年(4)

2011年(2)

2010年(3)

2009年(9)

2008年(3)

2007年(10)

我的朋友

分类: 嵌入式

2007-08-30 16:46:26

异步调用中的回调
作者:山东人在成都
    在以前的文章中曾介绍过异步调用的四种方式中的前三种.现在介绍第四种方式,即,使用异步回调方法.这需要增加一个回调方法,在该方法中进行EndInvoke的操作.使用这种方式进行异步操作会更好一些.
只是我还不知道该怎么把异步调用的方法产生的返回值,传输给调用方.

delegate string MethodDelegate();
private string TestCallMethod()
{
 Console.WriteLine("async method");
 return "hello";
}
public void AsyncCall()
{
 MethodDelegate md = new MethodDelegate(this.TestCallMethod);
 AsyncCallback callback = new AsyncCallback(BackCallMethod);
 IAsyncResult ar = md.BeginInvoke(null, null, callback, md);
}
private void BackCallMethod(IAsyncResult ar)
{
 MethodDelegate md = (MethodDelegate)ar.AsyncState;
 md.EndInvoke(ar);
}

阅读(726) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~