zoukankan      html  css  js  c++  java
  • DataTable 转换为List

           注意table 列的参数类型,若不为string 需要详细声明 如 typeof(Int32) 
            public static IList<T> ConvertTo<T>(DataTable dt) where T : new()
            {
                IList<T> list = new List<T>();
                if (dt == null || dt.Rows.Count <= 0)
                {
                    return null;
                }  
                Type type = typeof(T);
                PropertyInfo[] propertys = type.GetProperties();//获取T的所有属性
                try
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        T t = new T();
                        foreach (PropertyInfo pi in propertys)
                        {  
                            if (dt.Columns.Contains(pi.Name))
                            {    
                                if (!pi.CanWrite) continue;
                                object value = dr[pi.Name];
                                if (value != DBNull.Value)
                                    pi.SetValue(t, value, null);
                            }
                        }
                        list.Add(t);
                    }
                }
                catch (Exception ex)
                {
                    list = null;
                }
                return list;
            }
  • 相关阅读:
    webpack详解
    扩展运算符及其在vuex的辅助函数里的应用详解
    react组件间传值详解
    类的构造函数(3)
    类构造函数(4)
    new delete
    类的构造函数(1)
    类的构造函数(2)
    类的继承(1)
    静态成员数据与函数
  • 原文地址:https://www.cnblogs.com/cherious/p/11061973.html
Copyright © 2011-2022 走看看