Winforms, C#, VS2010.control.invoke avec un paramètre de sortie
J'ai un fil d'interrogation qui fonctionne pendant la durée de vie de mon application. De temps en temps, il appelle un événement sur mon formulaire principal. Je n'ai pas touché le code depuis des années et il fonctionne avec succès mais maintenant j'ai besoin d'ajouter un paramètre "out" à la liste des paramètres. J'ai cherché en ligne mais tous les fils que j'ai trouvés ont été en réflexion et ont été complexes pour tenter de se convertir à mon contexte. Le mien n'utilise pas de réflexion.
Quelqu'un peut-il aider à résoudre ce problème? Sur les fils de réflexion que je lis, les gens semblent vérifier un tableau d'objets pour le résultat du paramètre out, que je n'utilise pas dans mon code, et je ne saurais pas où l'obtenir de toute façon.
private bool OnNeedUpdateCreateEvent(string title, string message,
bool creatingNew, out string newPlanName)
{
newPlanName = "";
// 1st pass through this function.
// Check to see if this is being called from another thread rather
// than the main thread. If so then invoke is required
if (InvokeRequired)
{
// Invoke and recall this method.
return (bool)Invoke(new onNeedToUpdatePlanEvent(OnNeedUpdateCreateEvent),
title, message, creatingNew, out newPlanName); <- wrong out param
}
else
{
// 2nd pass through this function due to invoke, or invoke not required
return InputDlg(this, title, message, creatingNew, out newPlanName);
}
}