反射(Reflection)是一个非常强大的工具,可以用来查看和遍历类型和类型成员的元数据;动态创建类型实例,动态调用所创建的实例方法、字段、属性;迟绑定方法和属性。此次要介绍的是使用反射查看类型成员信息——遍历枚举。代码如下:
1 private static DataTable GetData() 2 { 3 ????Type t=typeof(Enum); ??????????????????// 创建类型 4 ????FieldInfo [] fieldArray=t.GetFields(); //获取字段信息对象集合 5 ????DataTable dt=new DataTable(); 6 ????dt.Columns.Add("Name",Type.GetType("System.String")); 7 ????dt.Columns.Add("Value",Type.GetType("System.Int32")); 8 ????foreach(FieldInfo field in fieldArray) 9 ????{ 10 ?????????if(!field.IsSpecialName)11 ?????????{ 12 ??????????????DataRow dtRow=dt.NewRow();13 ??????????????dtRow[0]=field.Name;14 ??????????????dtRow[1]=Convert.ToInt32(field.GetRawConstanValue());15 ??????????????dt.Rows.Add(dtRow);16 ??????????}17 ?????}
18 ????return dt;19 }
Type类是反射的核心,这个类封装了类型的元数据,是进行反射的入口。当获得了类型的Type对象后,就可以根据Type提供的属性和方法获取这个类型的方法、字段、属性、事件、参数、构造函数等一切信息。
.NET反射简单应用———遍历枚举字段
原文地址:http://www.cnblogs.com/king2317/p/7475460.html