/// <summary>
        /// datatable转List
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static List <T> ToList <T>(this DataTable dt) where T : class, new()
        {
            var list = new List <T>();

            if (dt == null || dt.Rows.Count == 0)
            {
                return(list);
            }

            list.AddRange(dt.Rows.Cast <DataRow>().Select(info => DataTableBuilder <T> .CreateBuilder(dt.Rows[0]).Build(info)));
            return(list);
        }
        /// <summary>
        /// datatable转List
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static List <T> ToList <T>(this DataTable dt) where T : class, new()
        {
            List <T> list = new List <T>();

            using (dt)
            {
                if (dt == null || dt.Rows.Count == 0)
                {
                    return(list);
                }

                DataTableBuilder <T> eblist = DataTableBuilder <T> .CreateBuilder(dt.Rows[0]);

                foreach (DataRow info in dt.Rows)
                {
                    list.Add(eblist.Build(info));
                }

                return(list);
            }
        }