using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication4
{
class Program
{
delegate int wt(int a, int b);
static void Main(string[] args)
{
wt w = new wt(classAdd.Add);
IAsyncResult ar = w.BeginInvoke(5,4,new AsyncCallback(回调函数),"ok");
Console.WriteLine("继续执行后面的");
Console.ReadKey();
}
static void 回调函数(IAsyncResult ar)
{
wt w = (wt)((System.Runtime.Remoting.Messaging.AsyncResult)ar).AsyncDelegate;
Console.WriteLine(w.EndInvoke(ar));
Console.WriteLine(ar.AsyncState);
}
}
class classAdd
{
public static int Add(int a,int b)
{
Console.WriteLine("计算{0},{1}",a,b);
System.Threading.Thread.Sleep(2000);
Console.WriteLine("计算结束");
return a + b;
}
}
}
委托回调
最新推荐文章于 2022-12-14 22:02:56 发布
本文通过一个具体的 C# 示例介绍了如何使用异步委托和回调函数来实现非阻塞的操作。示例中定义了一个名为 Add 的方法用于计算两个整数的和,并通过 BeginInvoke 和 EndInvoke 方法实现了异步调用。
1103

被折叠的 条评论
为什么被折叠?



