Je suis un exeption commeUn problème avec Invoke nombre de paramètres (méthode délégué, Object [] args)
System.Reflection.TargetParameterCountException: décalage de comptage des paramètres. à System.Windows.Forms.Control.MarshaledInvoke (l'appelant de contrôle, méthode délégué, Object [] args, synchrones booléen) à System.Windows.Forms.Control.Invoke (méthode Delegate, Object [] args)
Mais System.Windows.Forms.Control contient uniquement Invoke (méthode Delegate, méthode params Object [] args) mais pas Invoke (méthode Delegate, Object [] args). Et je l'utilise comme
Invoke (nouveau SetXDelegate (SetX), valeur1, valeur2)
Est-ce la raison de mon problème et je dois utiliser
Invoke (nouveau SetXDelegate (SetX), nouvel objet [] {valeur1, valeur2})?
MISE À JOUR
S'il vous plaît recommander s'il préférable d'utiliser quelque chose comme
(délégué (MethodInvoker) { SetX (valeur1, valeur2);}) Invoke
pour éviter ce genre de problèmes.
Merci.
À quoi ressemble SetXDelegate? –
Si SetX est une méthode d'instance, alors le premier objet dans le tableau devrait être le 'ceci' pour l'appel, je pense. Si cela prend 2 paramètres, alors vous devriez passer 3 valeurs dans les args. –