Ответ 1
Проверьте наличие [ParamArrayAttribute]
на нем.
Параметр params
всегда будет последним параметром.
Рассмотрим эту подпись метода:
public static void WriteLine(string input, params object[] myObjects)
{
// Do stuff.
}
Как я могу определить, что параметр WriteLine "myObjects" использует ключевое слово 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);
}