考虑这个方法签名:
public static void WriteLine(string input, params object[] myObjects)
{
// Do stuff.
}
如何确定 WriteLine 方法的“myObjects”参数使用 params 关键字并且可以采用可变参数?
考虑这个方法签名:
public static void WriteLine(string input, params object[] myObjects)
{
// Do stuff.
}
如何确定 WriteLine 方法的“myObjects”参数使用 params 关键字并且可以采用可变参数?
检查[ParamArrayAttribute]
它的存在。
with 的参数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);
}