Compartilhar via


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

Definição

Cria um novo IAsyncResult do especificado Task, invocando callback opcionalmente quando a tarefa for concluída.

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

O Task a ser encapsulado em um IAsyncResult.

callback
AsyncCallback

O retorno de chamada a ser invocado após a taskconclusão de . Se null, nenhum retorno de chamada será invocado.

state
Object

O estado a ser armazenado no IAsyncResult.

Retornos

Um IAsyncResult para representar a operação assíncrona da tarefa. Essa instância também será passada para callback quando for invocada.

Exceções

task é null.

Comentários

Em conjunto com os End(IAsyncResult) métodos ou End<TResult>(IAsyncResult) , esse método pode ser usado para implementar o padrão Begin/End (também conhecido como o padrão de Modelo de Programação Assíncrona ou APM). É recomendável não expor esse padrão em um novo código; os métodos em TaskToAsyncResult destinam-se apenas a ajudar a implementar esses métodos Begin/End quando eles devem ser expostos, por exemplo, porque uma classe base fornece métodos virtuais para o padrão ou quando eles já foram expostos e devem permanecer para compatibilidade. Esses métodos permitem implementar toda a lógica assíncrona principal por meio Taskde s e, em seguida, implementar facilmente métodos Begin/End em torno dessa funcionalidade.

Aplica-se a