博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将一个DataTable转换成一个List<T>的泛型集合
阅读量:5312 次
发布时间:2019-06-14

本文共 729 字,大约阅读时间需要 2 分钟。

 protected List<T> DataTableToList<T>(DataTable dataTable)

        {
            List<T> list = new List<T>();
            Type targetType = typeof(T);
            PropertyInfo[] allPropertyArray = targetType.GetProperties();
            foreach (DataRow rowElement in dataTable.Rows)
            {
                T element = Activator.CreateInstance<T>();
                foreach (DataColumn columnElement in dataTable.Columns)
                {
                    foreach (PropertyInfo property in allPropertyArray)
                    {
                        if (property.Name.Equals(columnElement.ColumnName))
                        {
                            if (rowElement[columnElement.ColumnName] == DBNull.Value)
                            {
                                property.SetValue(element, null, null);
                            }
                            else
                            {
                                property.SetValue(element, rowElement[columnElement.ColumnName], null);
                            }
                        }
                    }
                }
                list.Add(element);
            }
            return list;
        }

转载于:https://www.cnblogs.com/Fa-ge/archive/2011/08/02/2125417.html

你可能感兴趣的文章
GDB调试
查看>>
centos系统python2.7更新到3.5
查看>>
一个通用的单元测试框架的思考和设计09-实现篇-视图操作
查看>>
【Quartz】常用方法的使用方式(三)
查看>>
MVVM模式下关闭窗口的实现
查看>>
背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件...
查看>>
SqlServer 更改复制代理配置文件参数及两种冲突策略设置
查看>>
C#区域截图——调用API截图
查看>>
c#与java中byte字节的区别及转换方法
查看>>
A WebBrowser Toy
查看>>
用MyXls生成Excel报表(C#)
查看>>
了解WP的传感器
查看>>
阅读笔记 火球——UML大战需求分析 2
查看>>
Python 之父撰文回忆:为什么要创造 pgen 解析器?
查看>>
acedEvaluateLisp函数的反汇编
查看>>
Linux无线工具详解(Wireless tools for Linux)
查看>>
ACM PKU 2328 http://acm.pku.cn/JudgeOnline/problem?id=2328
查看>>
VB.NET 制作DLL动态库文件
查看>>
RSS阅读器
查看>>
Java语言基础——数据类型
查看>>