问题在代码里:
using System;
using System.Threading;
using System;
using System.Threading;
namespace ThreadPoolApplication
{
class Program
{
static int count = 5;
static void Main(string[] args)
{
Test t=new Test ();
ReStringMths r=new ReStringMths (t.Exec);
r.BeginInvoke(new System.AsyncCallback((IResult)=>{r.EndInvoke(IResult);Console.WriteLine("类名为{0}的异步方法{1}执行完毕!",IResult.AsyncState.ToString(),IResult.AsyncState.GetType().GetMethods()[0].Name);}),t);
//问题1:请问r.EndInvoke(IResult);这个IResult传进去干嘛用的?用于什么情况下?
//问题2:有什么办法可以获取t.Exec的返回值?
//问题3:不写r.EndInvoke(IResult);同样可以得到正确结果...但是为什么要有r.EndInvoke方法呢?
System.Console.ReadKey();
}
}
delegate string ReStringMths();
class Test
{
public string Exec()
{
System.Console.WriteLine("Start..."); Thread.Sleep(5000); System.Console.WriteLine("End..."); return "hello";
}
}
}
新手..问题多多..麻烦各位了!
添加回答
举报
0/150
提交
取消