MethodInfo.Invoke如何使用out ref参数
MethodInfo.Invoke可以指定一个Object[]来给要调用的方法传递参数,但是如何使用Out参数呢,主要是如何获取
其实执行方法后,方法out传出的参数会放到传入的object数组的对应位置,所以我们在对应位置直接访问就可以了
ref参数也是一样的
public void OprtParams(string param1, out string param2, ref string param3, ref int param4)
{
string s = "param1=" + param1+"param3="+param3+"param4="+param4.ToString();
param2 = "param2changed";
param3 = "param3changed";
param4++;
}
public void RunMethod()
{
MethodInfo mi = typeof(OutRefParams).GetMethod("OprtParams");
object[] parameters=new object[]{"param1","param2","param3",1};
mi.Invoke(new OutRefParams(),parameters);
string s = "param1=" + parameters[0] + "param2=" + parameters[1] + "param3=" + parameters[2] + "param4=" + parameters[3].ToString();
}