TaskToAsyncResult.Begin(Task, AsyncCallback, Object) 方法

定义

从指定的 Task创建一个新的 IAsyncResult ,可以选择在任务完成时调用 callback

public:
 static IAsyncResult ^ Begin(System::Threading::Tasks::Task ^ task, AsyncCallback ^ callback, System::Object ^ state);
public static IAsyncResult Begin (System.Threading.Tasks.Task task, AsyncCallback? callback, object? state);
static member Begin : System.Threading.Tasks.Task * AsyncCallback * obj -> IAsyncResult
Public Shared Function Begin (task As Task, callback As AsyncCallback, state As Object) As IAsyncResult

参数

task
Task

Task要包装在 中的 IAsyncResult

callback
AsyncCallback

完成时 task要调用的回调。 如果 null为 ,则不会调用任何回调。

state
Object

要存储在 中的 IAsyncResult状态。

返回

表示 IAsyncResult 任务的异步操作的 。 调用此实例时,也会将其传递给 callback

例外

tasknull

注解

End(IAsyncResult)End<TResult>(IAsyncResult) 方法结合使用,此方法可用于实现开始/结束模式 (也称为异步编程模型模式或 APM) 。 建议不要在新代码中公开此模式;上 TaskToAsyncResult 的方法仅用于帮助实现此类 Begin/End 方法时必须公开它们,例如,因为基类为模式提供虚拟方法,或者当它们已公开并且必须保持兼容性时。 这些方法支持通过 Task实现所有核心异步逻辑,然后围绕该功能轻松实现 Begin/End 方法。

适用于