1. 程式人生 > >.NET反射簡單應用———遍歷枚舉字段

.NET反射簡單應用———遍歷枚舉字段

each 使用 lec class int32 類型 str span net

  反射(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反射簡單應用———遍歷枚舉字段