在.net中,有没有办法使用反射来确定方法上的参数是否用“params”关键字标记?
答案 0 :(得分:22)
检查ParamArrayAttribute
对象是否已应用ParameterInfo
:
//use string.Format(str, args) as a test
var method = typeof(string).GetMethod("Format", new[] {typeof(string), typeof(object[])});
var param = method.GetParameters()[1];
Console.WriteLine(Attribute.IsDefined(param, typeof(ParamArrayAttribute)));
答案 1 :(得分:17)
测试最终ParameterInfo是否已应用ParamArrayAttribute。