Sobes.tech
Junior — Middle

Kdy byste měli použít metodu s návratovým typem void a kdy Task bez parametrů v asynchronních operacích?

sobes.tech AI

Odpověď od AI

Metoda s návratovým typem void se používá pro synchronní operace, které nic nevracejí.

V asynchronním programování v C#:

  • Používejte async void pouze pro obslužné rutiny událostí, kde je metoda volána systémem a nečeká se výsledek.
  • Pro asynchronní metody, které nevracejí hodnotu, použijte Task (bez parametrů). To umožňuje volání metody s await a zpracování výjimek.

Příklad:

// Správně pro asynchronní metodu bez výsledku
public async Task SaveDataAsync()
{
    await SomeIOOperationAsync();
}

// Používá se pouze pro události
public async void Button_Click(object sender, EventArgs e)
{
    await SaveDataAsync();
}

Proto je Task bez parametrů určeno pro asynchronní operace bez výsledku, void pro synchronní metody nebo asynchronní obslužné rutiny událostí.