Je veux écrire une méthode asynchrone avec un paramètre out
, comme ceci :
public async void Method1()
{
int op;
int result = await GetDataTaskAsync(out op);
}
Comment puis-je faire cela dans GetDataTaskAsync
?
Je veux écrire une méthode asynchrone avec un paramètre out
, comme ceci :
public async void Method1()
{
int op;
int result = await GetDataTaskAsync(out op);
}
Comment puis-je faire cela dans GetDataTaskAsync
?
Pour les développeurs qui VEULENT VRAIMENT le garder en paramètre, voici peut-être une autre solution de contournement.
Changez le paramètre en un tableau ou une liste pour encapsuler la valeur réelle. N'oubliez pas d'initialiser la liste avant de l'envoyer dans la méthode. Après avoir été renvoyée, assurez-vous de vérifier l'existence de la valeur avant de la consommer. Codez avec prudence.
Vous pouvez faire cela en utilisant TPL (bibliothèque parallèle de tâches) au lieu d'utiliser directement le mot clé await.
private bool CheckInCategory(int? id, out Category category)
{
if (id == null || id == 0)
category = null;
else
category = Task.Run(async () => await _context.Categories.FindAsync(id ?? 0)).Result;
return category != null;
}
if(!CheckInCategory(int? id, out var category)) return error
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.