Sdílet prostřednictvím


TaskToAsyncResult.Begin(Task, AsyncCallback, Object) Metoda

Definice

Vytvoří nový IAsyncResult ze zadaného Taskparametru , který volitelně vyvolá callback po dokončení úkolu.

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

Objekt Task , který se má zabalit do .IAsyncResult

callback
AsyncCallback

Zpětné volání, které má být vyvoláno při taskdokončení. Pokud null, nebude vyvoláno žádné zpětné volání.

state
Object

Stav, který se má uložit do IAsyncResult.

Návraty

Představuje IAsyncResult asynchronní operaci úkolu. Tato instance se také předá do callback při vyvolání.

Výjimky

task je null.

Poznámky

Ve spojení s metodami End(IAsyncResult) nebo End<TResult>(IAsyncResult) lze tuto metodu použít k implementaci vzoru začátek/konec (označovaného také jako vzor asynchronního programovacího modelu nebo APM). Doporučuje se nevystavovat tento vzor v novém kódu; Metody v nástroji TaskToAsyncResult jsou určeny pouze k tomu, aby pomohly implementovat takové metody typu Begin/End, když musí být zpřístupněny, například proto, že základní třída poskytuje virtuální metody pro vzor nebo když již byly zpřístupněny a musí zůstat z důvodu kompatibility. Tyto metody umožňují implementovat veškerou základní asynchronní logiku prostřednictvím Tasks a pak snadno implementovat metody Begin/End kolem této funkce.

Platí pro