您的位置:首页 > 其它

MethodInfo.Invoke如何使用out ref参数

2010-05-11 23:15 405 查看

MethodInfo.Invoke可以指定一个Object[]来给要调用的方法传递参数,但是如何使用Out参数呢,主要是如何获取

其实执行方法后,方法out传出的参数会放到传入的object数组的对应位置,所以我们在对应位置直接访问就可以了

ref参数也是一样的

public class Program1
{
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 static void RunMethod()
{
MethodInfo mi = typeof(Program1).GetMethod("OprtParams");
object[] parameters = new object[] { "param1", "param2", "param3", 1 };
mi.Invoke(new Program1(), parameters);
string s = "param1=" + parameters[0] + "param2=" + parameters[1] + "param3=" + parameters[2] + "param4=" + parameters[3].ToString();
Console.WriteLine(s);
}
static void Main(string[] args)
{
RunMethod();
Console.Read();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: