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();
       }

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-09
  • 2022-12-23
  • 2021-04-08
  • 2021-08-31
猜你喜欢
  • 2022-12-23
  • 2021-10-07
  • 2021-05-22
  • 2021-08-26
  • 2021-10-20
  • 2021-07-09
相关资源
相似解决方案