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 вокруг этой функции.