public void Run() { getDele = Say; //0.1同步调用 string strResult = getDele.Invoke("张三"); //0.2异步调用,callback是AsyncCallback委托,参数为IAsyncResult的void类型方法 //注意:使用BeginInvoke方法异步调用的时候,委托本身以及回调函数都是线程池线程执行的方法 IAsyncResult re = getDele.BeginInvoke("李四", SayCallback, "干嘛用的呢");///第三个参数是传给回调函数用的 //0.3指定等待异步操作完成 re.AsyncWaitHandle.WaitOne(); ///使用EndInvoke等待操作完成:注意,回调函数完全有可能没有完成 string result = getDele.EndInvoke(re); Console.WriteLine("结果为:"+result); Console.ReadKey(); }