Udostępnij za pośrednictwem


TaskToAsyncResult.Begin(Task, AsyncCallback, Object) Metoda

Definicja

Tworzy nowy IAsyncResult element z określonego Taskelementu , opcjonalnie wywołując callback po zakończeniu zadania.

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

Parametry

task
Task

Obiekt Task , który ma być opakowany w obiekt IAsyncResult.

callback
AsyncCallback

Wywołanie zwrotne, które ma być wywoływane po taskzakończeniu. Jeśli nullwywołanie zwrotne nie zostanie wywołane.

state
Object

Stan, który ma być przechowywany w elemecie IAsyncResult.

Zwraca

Element IAsyncResult reprezentujący operację asynchroniczną zadania. To wystąpienie zostanie również przekazane do callback momentu wywołania.

Wyjątki

task to null.

Uwagi

W połączeniu End(IAsyncResult) z metodami lub End<TResult>(IAsyncResult) ta metoda może służyć do implementowania wzorca Begin/End (znanego również jako wzorzec modelu programowania asynchronicznego lub APM). Zaleca się, aby nie uwidocznić tego wzorca w nowym kodzie; Metody w systemie TaskToAsyncResult są przeznaczone tylko do zaimplementowania takich metod Begin/End, gdy muszą być uwidocznione, na przykład dlatego, że klasa bazowa udostępnia metody wirtualne dla wzorca lub gdy zostały już ujawnione i muszą pozostać w celu zachowania zgodności. Te metody umożliwiają implementowanie całej podstawowej logiki asynchronicznej za pośrednictwem Taskmetod s, a następnie łatwe implementowanie metod Begin/End wokół tej funkcji.

Dotyczy