TaskToAsyncResult.Begin(Task, AsyncCallback, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 task
conclusã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.