我有一个 C# 方法,如下:
MyMethod(int num, string name, Color color, MyComplexType complex)
使用反射,我如何明确识别任何方法的每个参数类型?
我想按参数类型执行某些任务。如果类型是简单的int、string或boolean,则执行一些操作;如果是Color、XMLDocument等,则执行其他操作;如果是用户自定义类型,如MyComplexType或MyCalci等,则我想执行某些任务。
我可以使用ParameterInfo检索方法的所有参数,并可以循环遍历每个参数并获取其类型。但是我如何识别每种数据类型呢?
foreach (var parameter in parameters)
{
//identify primitive types??
//identify value types
//identify reference types
}
编辑:这是我创建属性网格页面的代码部分,我想展示所选方法的参数列表及其数据类型。如果参数具有任何用户定义类型/引用类型,则希望进一步展开以显示其下所有元素及其数据类型。