标签:方法 == nts info gen public 需要 column 一个
在我们工作中有时候需要类型转换的,在此提供一个list转datatable的方法:
public static DataTable ListToDataTable<T>(List<T> list) { Type tp = typeof(T); PropertyInfo[] proInfos = tp.GetProperties(); DataTable dt = new DataTable(); foreach (var item in proInfos) { //解决DataSet不支持System.Nullable<>问题 Type colType = item.PropertyType; if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>))) { colType = colType.GetGenericArguments()[0]; } //添加列明及对应类型 dt.Columns.Add(item.Name, colType); } foreach (var item in list) { DataRow dr = dt.NewRow(); foreach (var proInfo in proInfos) { object obj = proInfo.GetValue(item); if (obj == null) { continue; } if (proInfo.PropertyType == typeof(DateTime) && Convert.ToDateTime(obj) < Convert.ToDateTime("1753-01-01")) { continue; } dr[proInfo.Name] = obj; } dt.Rows.Add(dr); } return dt; }
码出人生,永无止境!
标签:方法 == nts info gen public 需要 column 一个
原文地址:https://www.cnblogs.com/lanyu001/p/11757549.html