码迷,mamicode.com
首页 > 其他好文 > 详细

利用反射将任意元素类型 的 List 转为 DataTable

时间:2014-04-30 20:06:11      阅读:422      评论:0      收藏:0      [点我收藏+]

标签:com   blog   class   div   code   c   log   tar   t   sp   get   

List to DataTable. 利用反射,将任意元素类型 的 List 转为 DataTable.

Using System.Collections;

Using System.Reflection;

public static DataTable ToDataTable(IList list)
{
    DataTable result = new DataTable();
    if (list.Count > 0)
    {
        PropertyInfo[] propertys = list[0].GetType().GetProperties();
        foreach (PropertyInfo pi in propertys)
        {
            result.Columns.Add(pi.Name, pi.PropertyType);
        }
 
        for (int i = 0; i < list.Count; i++)
        {
            ArrayList tempList = new ArrayList();
            foreach (PropertyInfo pi in propertys)
            {
                object obj = pi.GetValue(list[i], null);
                tempList.Add(obj);
            }
 
            object[] array = tempList.ToArray();
            result.LoadDataRow(array, true);
        }
    }
    return result;
}

 

利用反射将任意元素类型 的 List 转为 DataTable,布布扣,bubuko.com

利用反射将任意元素类型 的 List 转为 DataTable

标签:com   blog   class   div   code   c   log   tar   t   sp   get   

原文地址:http://www.cnblogs.com/liquadli/p/3699061.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!