【发布时间】:2009-02-25 00:33:33
【问题描述】:
我想使用 DataTableExtensions 中可用的 CopyToDataTable 方法创建一个给定列表的数据表。我之前问过How do I transform a List into a DataSet? 的问题,并从CMS 得到了exceptional answer,这是通过创建扩展public static DataTable ToDataTable<T>(this IEnumerable<T> collection) 来实现我想要的
我一直在使用他的建议...但最近我seen in a blog 已经存在这样的扩展...CopyToDataTable<T>(this IEnumerable<T> source) : DataTable 存在于 System.Data.DataTableExtensions 中。
因此,我认为我应该改用这种内置的扩展方法,而不是使用我必须自己维护的方法。
很遗憾,我在弄清楚如何使用它时遇到了一些麻烦。
我可以使用我的 IList 并说 myListofMyClass.CopyToDataTable(),但我收到一个编译错误,提示“类型 'MyClass' 必须可转换为 'System.Data.DataRow' 才能将其用作参数 'T'在泛型方法中..."
为了使其可转换为 System.Data.DataRow,我需要做一些特别的事情吗?我需要实现一些接口吗?
【问题讨论】:
标签: c# datatable generic-list