C#에서 반사를 사용하여 매개 변수가 "매개 변수"를 사용하는지 결정합니까?
-
06-07-2019 - |
문제
이 방법을 고려하십시오.
public static void WriteLine(string input, params object[] myObjects)
{
// Do stuff.
}
Writeline Method의 "MyObjects"Pararameter가 Params 키워드를 사용하여 변수 인수를 취할 수 있는지 확인하려면 어떻게해야합니까?
해결책
존재를 확인하십시오 [ParamArrayAttribute]
그 위에.
매개 변수 params
항상 마지막 매개 변수가됩니다.
다른 팁
을 체크하다 ParameterInfo, 만약에 paramarrayattribute 그것에 적용되었습니다 :
static bool IsParams(ParameterInfo param)
{
return param.GetCustomAttributes(typeof (ParamArrayAttribute), false).Length > 0;
}
약간 짧고 읽기 쉬운 방법 :
static bool IsParams(ParameterInfo param)
{
return param.IsDefined(typeof(ParamArrayAttribute), false);
}
제휴하지 않습니다 StackOverflow