Appel de méthodes asynchrones depuis Main()
L'une des nouvelles fonctionnalités introduites en C# est la prise en charge de la programmation asynchrone. Cela vous permet d'effectuer des opérations de longue durée sans bloquer le thread principal, ce qui peut conduire à une interface utilisateur plus réactive.
Dans l'exemple de code fourni, vous disposez d'une méthode asynchrone appelée Go() que vous souhaitez appel depuis la méthode Main(). Pour ce faire, vous pouvez utiliser l'une des deux approches suivantes :
Option 1 : Utilisation de async/await (C# 7.1 et versions ultérieures)
En C# 7.1 et versions ultérieures, vous Vous pouvez utiliser le mot-clé async pour rendre votre méthode Main() asynchrone. Cela permet d'attendre le résultat de la méthode Go() sans bloquer le thread principal.
static async Task Main(string[] args) { test t = new test(); await t.Go(); Console.WriteLine("finished"); Console.ReadKey(); }
Option 2 : Utiliser le blocage (pour les versions C# antérieures à 7.1)
Pour les versions de C# antérieures à 7.1, vous pouvez utiliser la méthode Wait() pour bloquer le thread principal jusqu'à ce que la méthode Go() ait terminé.
static void Main(string[] args) { test t = new test(); t.Go().Wait(); Console.WriteLine("finished"); Console.ReadKey(); }
L'approche que vous avez utilisée dans votre exemple de code, impliquant un rappel, n'est pas nécessaire. L'utilisation du modèle async/await ou de la méthode Wait() vous permettra d'appeler des méthodes asynchrones depuis Main() de manière simple.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!