【发布时间】:2012-11-01 05:56:58
【问题描述】:
如何确定ParameterInfo 是否为返回参数?
我写了下面的函数,但我担心我可能会遗漏一些东西:
public bool IsReturnParameter(ParameterInfo parameter){
var method = parameter.Member as MethodInfo;
return method != null && parameter.Equals(method.ReturnParameter);
}
我基于几个假设,这些假设可能存在缺陷:(1) 参数是在 MethodInfo、ConstructorInfo 或 PropertyInfo(索引器)的成员上声明的。 (2) ConstructorInfo 和 PropertyInfo 永远不会有返回参数。
【问题讨论】:
-
你想知道方法是否有out/ref参数?
-
没有。我想知道是不是方法的返回参数
-
要清楚,你想要 ParameterInfo 告诉你方法的返回是否有任何自定义属性?
-
@JeffN825,是的。这就是我想要测试的。
-
也许我不明白这个问题。这个的用途是什么?根据我的测试,
ReturnParameter的值不会出现在GetParameters()的结果中——我发现获得它的唯一方法是显式检查ReturnParameter属性。如果你这样做,你已经知道它是返回参数。
标签: c# .net reflection system.reflection parameterinfo