如何获取参数个数可变的函数的ParameterInfo?问题是当我调用方法时
MyFunction(object o1, out object o2);
我可以得到sendData的parameterInfo,但不能得到o1和o2对象。
protected object[] MyFunction(params object[] sendData)
{
StackTrace callStack = new StackTrace(0, false);
StackFrame callingMethodFrame = callStack.GetFrame(0);
MethodBase callingMethod = callingMethodFrame.GetMethod();
ParameterInfo[] parametersInfo = callingMethod.GetParameters();
List<object> inParams = new List<object>();
List<object> outParams = new List<object>();
for (int i = 0; i < sendData.Length; i++)
{
object value = sendData[i];
ParameterInfo info = parametersInfo[parametersInfo.Length - sendData.Length + i];
if (info.IsOut)
{
outParams.Add(value);
}
else
{
inParams.Add(value);
}
}
..........
}
提前感谢你对我的帮助。
Arnaud
"params"只是C#语法糖。事实上,在元数据.NET级别,只有一个名为"sendData"的参数具有特定的"ParamArray"属性集。