Je suis devenu douloureusement conscient de la fréquence à laquelle il faut écrire le modèle de code suivant dans le code GUI événementiel, où
private void DoGUISwitch() {
// cruisin for a bruisin' through exception city
object1.Visible = true;
object2.Visible = false;
}
devient:
private void DoGUISwitch() {
if (object1.InvokeRequired) {
object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); }));
} else {
object1.Visible = true;
object2.Visible = false;
}
}
C'est un modèle gênant en C #, à la fois à retenir et à taper. Quelqu'un a-t-il trouvé une sorte de raccourci ou de construction qui automatise cela dans une certaine mesure? Ce serait cool s'il y avait un moyen d'attacher une fonction aux objets qui effectue cette vérification sans avoir à passer par tout ce travail supplémentaire, comme un object1.InvokeIfNecessary.visible = true
raccourci de type.
Les réponses précédentes ont discuté de l'impossibilité de simplement appeler Invoke () à chaque fois, et même dans ce cas, la syntaxe Invoke () est à la fois inefficace et toujours difficile à gérer.
Alors, est-ce que quelqu'un a trouvé des raccourcis?
object1.InvokeIfNecessary.Visible = true
ligne; consultez ma réponse mise à jour et dites-moi ce que vous en pensez.