Compartir a través de


TaskToAsyncResult.Begin(Task, AsyncCallback, Object) Método

Definición

Crea un nuevo IAsyncResult a partir del objeto especificado Task, invocando callback opcionalmente cuando se haya completado la tarea.

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

Parámetros

task
Task

que Task se va a encapsular en un objeto IAsyncResult.

callback
AsyncCallback

Devolución de llamada que se va a invocar al taskfinalizar. Si nulles , no se invocará ninguna devolución de llamada.

state
Object

Estado que se va a almacenar en .IAsyncResult

Devoluciones

que IAsyncResult representa la operación asincrónica de la tarea. Esta instancia también se pasará a callback cuando se invoque.

Excepciones

task es null.

Comentarios

Junto con los End(IAsyncResult) métodos o End<TResult>(IAsyncResult) , este método se puede usar para implementar el patrón Begin/End (también conocido como modelo de programación asincrónica o APM). Se recomienda no exponer este patrón en el nuevo código; Los métodos en TaskToAsyncResult están diseñados solo para ayudar a implementar estos métodos Begin/End cuando se deben exponer, por ejemplo, porque una clase base proporciona métodos virtuales para el patrón, o cuando ya se han expuesto y deben permanecer por compatibilidad. Estos métodos permiten implementar toda la lógica asincrónica principal a través Taskde s y, a continuación, implementar fácilmente métodos Begin/End en torno a esa funcionalidad.

Se aplica a