《C# programming》 p323
BeginInvoke() 会立即返回,它将创建一个另一个线程来完成自己的工作。当我需要它执行后的结果时:
例如:
pubilc delegate in TestDetegate();
pubilc TestDetegate theDetegate;
..............................................
theDetegate += ××××××××××
..............................................
//异步调用、并执行操作内容
//AsyncCallback委托提供了一个回调机制
//ResultsReturned为获取结果的回调方法
theDetegate.BeginInvoke(new AsyncCallback(ResultsReturned),theDetegate);
//获取结果的回调方法
pubilc void ResultsReturned(IAsyncResult iar)
{
//将状态对象转换回委托类型
TestDetegate del = (TestDetegate)iar.AsyncState;
//调用委托的EndInvoke方法获取结果
int result = del.EndInvoke(iar);
.................
}