异步委托的用法
每个委托都有三个方法:Invoke、BeginInvoke、EndInvoke。第一个方法是委托指定函数的同步调用,另外两个是异步调用。 BeginInvoke方法,调用后立即返回,不等待调用结果。EndInvoke方法,用于检索调用结果。调用BeginInvoke后可随时调用 EndInvoke 方法;如果异步调用未完成,EndInvoke 将一直阻塞到异步调用完成。EndInvoke 的参数包括您需要异步执行的方法的 out 和 ref 参数(在 Visual Basic 中为 <Out> ByRef 和 ByRef)以及由 BeginInvoke 返回的 IAsyncResult BeginInvoke 异步方法签名的规则是: 包括所有 IN 参数。 包括所有 OUT 参数。 包括所有 IN/OUT 参数。 包括所有 ByRef 参数。 将 AsyncCallback 和 AsyncState(可通过 IAsyncResult 接口的 AsyncState 属性获得)作为最后两个参数。 返回 IAsyncResult。 EndInvoke 异步方法签名的规则是: 包括所有 IN/OUT 参数。 包括所有 OUT 参数。 包括所有 ByRef 参数。 将 IAsyncResult 作为最后一个参数。 从原始方法签名返回原始返回类型。 结果对象 (IAsyncResult)