public delegate int GetSumDelegate(int from, int to);
public delegate void MyDelegate2(string s1, int n1);
public delegate void MyDelegate1();
static int T3(int f, int t)
{
int sum = 0;
for (int i = f; i <= t; i++)
{
sum += i;
Thread.Sleep(500);
}
return sum;
}
static void T2(string s1,int n1)
{
Console.WriteLine("s1={0}",s1);
Thread.Sleep(1000);//线程休息一定时间
Console.WriteLine("n1={0}",n1);
}
static void T1()
{
Console.WriteLine("T1");
Thread.Sleep(1000);//线程休息一定时间
Console.WriteLine("T1");
}
调用无参数无返回值的委托
MyDelegate1 md = new MyDelegate1(T1);
IAsyncResult result = md.BeginInvoke(null, null);//最简单的直接开始异步调用,没有回调
md.EndInvoke(result);//如果希望等待异步委托调用结束后再继续后面的代码则在这里调用EndInvoke()函数
Console.WriteLine("ok");
Console.ReadKey();
异步委托调用(只支持单播委托)public delegate int GetSumDelegate(int from, int to); public delegate void MyDelegate2(string s1, int n1); public delegate void MyDelegate1(); static int T3(int f, int t) {