Dans le désir d'améliorer la fonctionnalité des méthodes asynchrones, les développeurs peuvent rencontrer des défis lorsqu'ils tentent d'incorporer des paramètres Out, comme illustré dans le extrait de code suivant :
public async void Method1() { int op; int result = await GetDataTaskAsync(out op); }
Cependant, une telle implémentation se heurte à des obstacles en raison des limitations sous-jacentes du runtime environnement.
Pour surmonter ces limitations, une solution de contournement est disponible : renvoyer un tuple au lieu d'utiliser un paramètre out. Cette approche permet d'extraire les valeurs nécessaires du tuple, comme démontré dans le code modifié ci-dessous :
public async Task Method1() { var tuple = await GetDataTaskAsync(); int op = tuple.Item1; int result = tuple.Item2; } public async Task<Tuple<int, int>> GetDataTaskAsync() { //... return new Tuple<int, int>(1, 2); }
En utilisant des tuples, les développeurs peuvent obtenir le comportement souhaité sans s'appuyer sur les paramètres des méthodes asynchrones.
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!