可以这么搞:
Assembly asm = Assembly.Load("UITestDesignTools1.0");//加载反射的dll
List<类型> list = new List<类型>();
Object[] parameters = new Object[2];//这里存放参数,有几个参数那么数组就定义几个
parameters[0] =list ;//给第一个参数赋值
parameters[1] = 123456 ;//给第2个参数赋值
Object instanceObj = asm.CreateInstance("Windows.Forms.frmControlStyle", true, System.Reflection.BindingFlags.Default, null, parameters, null, null); //反射获取指定类的对象
Form f = instanceObj as Form;
f.Show()
上面这样就已经在反射对象的时候传参了。这里是给构造方法传参,
如果是给类里面的方法传参,看下面的
------------------------------------------------分割线----------------------------------------------------------
如果非要用invoke的话,稍改动一下
Type testClassType = Type.GetType( "Test.TestClass", false );
if ( testClassType != null )
{
object instance = Activator.CreateInstance( testClassType, 10, 20 );
MethodInfo test1 = testClassType.GetMethod( "Test1", BindingFlags.Instance | BindingFlags.Public );
List<类型> list = new List<类型>();
Object[] parameters = new Object[2];//这里存放参数,有几个参数那么数组就定义几个
parameters[0] =list ;//给第一个参数赋值()
parameters[1] = 123456 ;//给第2个参数赋值
test1.Invoke( instance, parameters );
}