TaskToAsyncResult.Begin(Task, AsyncCallback, Object) Metodo

Definizione

Crea un nuovo IAsyncResult oggetto dall'oggetto specificato Task, richiamando callback facoltativamente quando l'attività è stata completata.

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

Parametri

task
Task

Oggetto di cui eseguire il Task wrapping in un oggetto IAsyncResult.

callback
AsyncCallback

Callback da richiamare al taskcompletamento di . Se null, non verrà richiamato alcun callback.

state
Object

Stato da archiviare in IAsyncResult.

Valori restituiti

Oggetto IAsyncResult per rappresentare l'operazione asincrona dell'attività. Questa istanza verrà passata anche a callback quando viene richiamata.

Eccezioni

task è null.

Commenti

In combinazione con i End(IAsyncResult) metodi o End<TResult>(IAsyncResult) , questo metodo può essere usato per implementare il modello Begin/End (noto anche come modello di programmazione asincrona o APM). È consigliabile non esporre questo modello nel nuovo codice; I metodi in TaskToAsyncResult sono progettati solo per implementare tali metodi Begin/End quando devono essere esposti, ad esempio perché una classe base fornisce metodi virtuali per il modello o quando sono già stati esposti e devono rimanere per motivi di compatibilità. Questi metodi consentono di implementare tutta la logica asincrona principale tramite Tasks e quindi implementare facilmente i metodi Begin/End in base a tale funzionalità.

Si applica a