.NET反射簡單應用———遍歷枚舉字段
阿新 • • 發佈:2017-09-04
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反射簡單應用———遍歷枚舉字段