TaskToAsyncResult.Begin(Task, AsyncCallback, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 task
finalizar. Si null
es , 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.