首页 > 代码库 > datatable 转 对象
datatable 转 对象
private static List<T> ConvertToList<T>(DataTable dt)
where T : new()
{
T t1;
Type type = typeof(T);
List<T> list = new List<T>();
PropertyInfo[] propertys = type.GetProperties();
string name = string.Empty;
foreach (DataRow dr in dt.Rows)
{
T t2 = default(T);
if (t2 == null)
{
t1 = Activator.CreateInstance<T>();
}
else
{
t2 = default(T);
t1 = t2;
}
T t = t1;
PropertyInfo[] propertyInfoArray = propertys;
for (int i = 0; i < (int)propertyInfoArray.Length; i++)
{
PropertyInfo pi = propertyInfoArray[i];
name = pi.Name;
if (dt.Columns.Contains(name))
{
if (!pi.CanWrite)
{
continue;
}
object value = http://www.mamicode.com/SqlHelper.ToCSharpValue(dr[name]);
if (null != value)
{
pi.SetValue(t, value, null);
}
}
}
list.Add(t);
}
return list;
}
datatable 转 对象