TaskToAsyncResult.Begin(Task, AsyncCallback, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从指定的 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
。
例外
task
为 null
。
注解
与 End(IAsyncResult) 或 End<TResult>(IAsyncResult) 方法结合使用,此方法可用于实现开始/结束模式 (也称为异步编程模型模式或 APM) 。 建议不要在新代码中公开此模式;上 TaskToAsyncResult 的方法仅用于帮助实现此类 Begin/End 方法时必须公开它们,例如,因为基类为模式提供虚拟方法,或者当它们已公开并且必须保持兼容性时。 这些方法支持通过 Task实现所有核心异步逻辑,然后围绕该功能轻松实现 Begin/End 方法。