[英]How to determine if a ParameterInfo is a return parameter
如何確定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
永遠不會有返回參數。
您可以檢查ParameterInfo.Position == -1
...但是您的相等性檢查似乎同樣好...盡管在某些情況下它不能正確處理覆蓋或接口或泛型類型。
假設您要引用out int foo
,則需要parameter.IsOut
。
如果您想要返回值,請嘗試IsRetval
,盡管我之前從未聽說過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.