Sobes.tech
Junior — Middle

Wann sollte man eine Methode mit Rückgabetyp void und wann einen Task ohne Parameter in asynchronen Operationen verwenden?

sobes.tech KI

Antwort von AI

Methode mit Rückgabetyp void wird für synchrone Operationen verwendet, die nichts zurückgeben.

In der asynchronen Programmierung in C#:

  • Verwenden Sie async void nur für Ereignis-Handler, bei denen die Methode vom System aufgerufen wird und kein Ergebnis erwartet wird.
  • Für asynchrone Methoden, die keinen Wert zurückgeben, verwenden Sie Task (ohne Parameter). Dies ermöglicht es, die Methode mit await aufzurufen und Ausnahmen zu behandeln.

Beispiel:

// Richtig für eine asynchrone Methode ohne Ergebnis
public async Task SaveDataAsync()
{
    await SomeIOOperationAsync();
}

// Wird nur für Ereignisse verwendet
public async void Button_Click(object sender, EventArgs e)
{
    await SaveDataAsync();
}

Daher ist Task ohne Parameter für asynchrone Operationen ohne Ergebnis, void für synchrone Methoden oder asynchrone Ereignis-Handler.