首页 > 其他 > 详细

datatable 转 对象

时间:2017-03-26 18:04:15      阅读:156      评论:0      收藏:0      [点我收藏+]

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 = SqlHelper.ToCSharpValue(dr[name]);
      if (null != value)
      {
       pi.SetValue(t, value, null);
      }
     }
    
    }
    list.Add(t);
   }
   return list;
  }

datatable 转 对象

原文:http://www.cnblogs.com/zhangxiaoshuai/p/6623441.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!