Sobes.tech
Junior — Middle

Mikor kell olyan módszert használni, amelynek visszatérési típusa void, és mikor egy paraméter nélküli Task-ot aszinkron műveletekben?

sobes.tech MI

Válasz az MI-től

A visszatérési típusú void módszer szinkron műveletekhez van használva, amelyek semmit sem adnak vissza.

C#-ban az aszinkron programozás során:

  • Csak eseménykezelők esetén használd az async void-t, ahol a módszert a rendszer hívja meg, és nem várunk eredményt.
  • Olyan aszinkron módszerekhez, amelyek nem adnak vissza értéket, használd a Task-t (paraméter nélkül). Ez lehetővé teszi a módszer await-tel való hívását és kivételek kezelését.

Példa:

// Helyes aszinkron módszer eredmény nélkül
public async Task SaveDataAsync()
{
    await SomeIOOperationAsync();
}

// Csak eseményekhez használható
public async void Button_Click(object sender, EventArgs e)
{
    await SaveDataAsync();
}

Tehát, a paraméter nélküli Task eredmény nélküli aszinkron műveletekhez, a void pedig szinkron módszerekhez vagy aszinkron eseménykezelőkhöz való.