【发布时间】:2021-01-07 04:52:30
【问题描述】:
我正在尝试遍历泛型类型对象列表,我能够获取对象的属性,但无法从对象的每个实例的属性中获取值。下面是我的代码的样子:我想创建一个函数来转换任何传递给它的列表并将其转换为 DataTable。
--数据对象
public class StudentDo
{
public int Id {get;set}
public string Name {get;set}
}
--通用数据访问对象
public DataTable ConvertListToDataTable(List<T> list, string tableName = "")
{
var type = typeof(T);
var properties = type.GetProperties().ToList();
DataTable dt = new DataTable(tableName);
properties.ForEach(x =>
{
dt.Columns.Add(x.Name);
});
// i don't know how shall i pull data from each instance of List<T>.
return dt;
}
【问题讨论】:
-
这似乎不是迭代通用列表的问题。您的问题似乎是关于如何使用反射读取属性值。
-
只是好奇为什么要将结构良好的类型集合转换为
DataTable?在大多数情况下,您想用DataTable做的所有事情都可以用List<T>做
标签: c# generic-programming generic-list