1 private DataTable listToDataTable<T>(List<T> ListItem) 2 { 3 //實列化DataTable物件 4 var dt = new DataTable(typeof(T).Name); 5 6 //通過反射獲取List物體的屬性資訊 7 PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance); 8 9 //給DataTable 添加定義 10 foreach (var propertyInfo in propertyInfos) 11 { 12 dt.Columns.Add(propertyInfo.Name, propertyInfo.PropertyType); 13 } 14 15 //給DataTable 添加資料 16 foreach (T item in ListItem) 17 { 18 var values = new object[propertyInfos.Length]; 19 for (int i = 0; i < propertyInfos.Length; i++) 20 { 21 values[i] = propertyInfos[i].GetValue(item); 22 } 23 dt.Rows.Add(values); 24 } 25 26 //回傳DataTable 27 return dt; 28 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/86448.html
標籤:C#
上一篇:C# LINQ學習筆記三:LINQ to OBJECT之操作字串
下一篇:Csla One or more properties are not registered for this type
