异步调用中的回调
作者:山东人在成都
在以前的文章中曾介绍过异步调用的四种方式中的前三种.现在介绍第四种方式,即,使用异步回调方法.这需要增加一个回调方法,在该方法中进行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) |