Sobes.tech
Junior — Middle

Quando deve usar um método com tipo de retorno void e quando um Task sem parâmetros em operações assíncronas?

sobes.tech IA

Resposta da IA

O método com tipo de retorno void é usado para operações síncronas que não retornam nada.

Na programação assíncrona em C#:

  • Use async void apenas para manipuladores de eventos, onde o método é chamado pelo sistema e não se espera um resultado.
  • Para métodos assíncronos que não retornam valor, use Task (sem parâmetros). Isso permite chamar o método com await e tratar exceções.

Exemplo:

// Correto para método assíncrono sem resultado
public async Task SaveDataAsync()
{
    await SomeIOOperationAsync();
}

// Usado apenas para eventos
public async void Button_Click(object sender, EventArgs e)
{
    await SaveDataAsync();
}

Portanto, Task sem parâmetros é para operações assíncronas sem resultado, void para métodos síncronos ou manipuladores de eventos assíncronos.