簡體   English   中英

如何確定ParameterInfo是否為返回參數

[英]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)在MethodInfoConstructorInfoPropertyInfo (索引器)的成員上聲明參數。 (2) ConstructorInfoPropertyInfo永遠不會有返回參數。

您可以檢查ParameterInfo.Position == -1 ...但是您的相等性檢查似乎同樣好...盡管在某些情況下它不能正確處理覆蓋或接口或泛型類型。

假設您要引用out int foo ,則需要parameter.IsOut

如果您想要返回值,請嘗試IsRetval ,盡管我之前從未聽說過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM