问题在代码里:
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"; } } }
新手..问题多多..麻烦各位了!
叮当猫咪