System.Reflection.TargetParameterCountException一个exeption:参数数量不匹配。 在System.Windows.Forms.Control.MarshaledInvoke(控制呼叫者,委派方法,对象[]指定参数时,布尔同步) 在System.Windows.Forms.Control.Invoke(委托方法,对象[]参数)
但System.Windows.Forms.Control只包含Invoke(Delegate方法,params Object [] args)方法但不包含Invoke(Delegate方法,Object [] args)。我用它像
调用(新SetXDelegate(SETX),值1, 值2)
这是我的问题的原因,我必须使用
调用(新SetXDelegate(SetX),new object [] {value1,value2})?
UPDATE
请建议,如果它更好地使用像
调用((MethodInvoker)委托{ SETX(值1,值2);})
以避免这种问题。
谢谢。
SetXDelegate的外观如何? – 2011-02-17 11:50:10
如果SetX是一个实例方法,那么数组中的第一个对象应该是这个调用的'this',我想。如果它需要2个参数,那么你应该在参数中传递3个值。 – 2011-02-17 13:42:51