Sobes.tech
Junior — Middle

Πότε πρέπει να χρησιμοποιείτε μια μέθοδο με τύπο επιστροφής void και πότε ένα Task χωρίς παραμέτρους σε ασύγχρονες λειτουργίες;

sobes.tech AI

Απάντηση από AI

Η μέθοδος με τύπο επιστροφής void χρησιμοποιείται για συγχρονικές λειτουργίες που δεν επιστρέφουν τίποτα.

Στον ασύγχρονο προγραμματισμό σε C#:

  • Χρησιμοποιήστε async void μόνο για χειριστές συμβάντων, όπου η μέθοδος καλείται από το σύστημα και δεν αναμένεται αποτέλεσμα.
  • Για ασύγχρονες μεθόδους που δεν επιστρέφουν τιμή, χρησιμοποιήστε Task (χωρίς παραμέτρους). Αυτό επιτρέπει την κλήση της με await και τη διαχείριση εξαιρέσεων.

Παράδειγμα:

// Σωστό για ασύγχρονη μέθοδο χωρίς αποτέλεσμα
public async Task SaveDataAsync()
{
    await SomeIOOperationAsync();
}

// Χρησιμοποιείται μόνο για γεγονότα
public async void Button_Click(object sender, EventArgs e)
{
    await SaveDataAsync();
}

Επομένως, Task χωρίς παραμέτρους — για ασύγχρονες λειτουργίες χωρίς αποτέλεσμα, void — για συγχρονικές μεθόδους ή ασύγχρονους χειριστές συμβάντων.