1、IAsyncResult 接口由包含可异步操作的方法的类实现。
它是启动异步操作的方法的返回类型,如 FileStream..::.BeginRead,也是结束异步操作的方法的第三个参数的类型,如 FileStream..::.EndRead。
当异步操作完成时,IAsyncResult 对象也将传递给由 AsyncCallback 委托调用的方法。
支持 IAsyncResult 接口的对象存储异步操作的状态信息,并提供同步对象以允许线程在操作完成时终止。
2、AsyncResult
封装异步委托上的异步操作的结果。
AsyncResult 类与异步委托一起使用。从该委托的 BeginInvoke 方法返回的 IAsyncResult 可以强制转换为 AsyncResult。
AsyncResult 具有 AsyncDelegate 属性,该属性保存在其上调用异步调用的委托对象。