TaskToAsyncResult.Begin(Task, AsyncCallback, Object) Метод

Определение

Создает новое из IAsyncResult указанного Task, при необходимости вызывая 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) методами этот метод может использоваться для реализации шаблона Begin/End (также известного как шаблон модели асинхронного программирования или APM). Рекомендуется не предоставлять этот шаблон в новом коде; Методы TaskToAsyncResult предназначены только для реализации таких методов Begin/End, если они должны быть предоставлены, например, поскольку базовый класс предоставляет виртуальные методы для шаблона или когда они уже были предоставлены и должны оставаться для совместимости. Эти методы позволяют реализовать всю основную асинхронную логику через Tasks, а затем легко реализовать методы Begin/End вокруг этой функции.

Применяется к