async/await : quand retourner Task et quand void en C# ?
Bonjour, collègues ! J'ai commencé à étudier la programmation asynchrone en C# et je suis tombé sur une incompréhension. J'utilise .NET 4.5, j'écris une application WPF. Quand je rends une méthode asynchrone avec le mot-clé async, je ne comprends pas toujours quel type de retour choisir : Task ou void ?
Par exemple, j'ai un bouton qui charge des données :
```csharp
private async void Button_Click(object sender, RoutedEventArgs e)
{
await LoadDataAsync();
}
```
Ça semble fonctionner. Mais j'ai vu que dans certains exemples, on écrit `async Task` au lieu de `async void`. Quelle est la différence ? Et pourquoi le compilateur se plaint parfois si j'essaie de faire une méthode `async void` qui n'est pas un gestionnaire d'événement ?
J'ai aussi essayé de faire une méthode qui attend simplement :
```csharp
public async void WaitAndLog()
{
await Task.Delay(
```
No answers yet.
Connectez-vous pour laisser une réponse
Blogs