/// <summary>
/// 将dataTable数据转化为List<>
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="table"></param>
/// <returns></returns>
public static IList<T> GetList<T>(DataTable table)
{
IList<T> list = new List<T>();
T t = default(T);
PropertyInfo[] propertypes = null;
string tempName = string.Empty;
foreach (DataRow row in table.Rows)
{
t = Activator.CreateInstance<T>();
propertypes = t.GetType().GetProperties();
foreach (PropertyInfo pro in propertypes)
{
tempName = pro.Name;
if (table.Columns.Contains(tempName.ToUpper()))
{
//object value = row[tempName];
//pro.SetValue(t, value, null);
// 判断此属性是否有Setter
if (!pro.CanWrite) continue;//该属性不可写,直接跳出
//取值
object value = row[tempName];
//如果非空,则赋给对象的属性
if (value != DBNull.Value)
pro.SetValue(t, value, null);
}
}
list.Add(t);
}
return list;
}
asp.net中将dataTable数据转化为List<>
最新推荐文章于 2023-11-10 23:53:23 发布