我想使用DataTableExtensions中提供的CopyToDataTable方法創建一個給定List的數據表。我以前問的問題How do I transform a List into a DataSet?並得到了CMS的exceptional answer這是實現通過創建一個擴展public static DataTable ToDataTable<T>(this IEnumerable<T> collection)
如何使用System.Data.DataTableExtensions的CopyToDataTable方法?
我一直在使用他的提議......但最近我seen in a blog有已經是我想要的存在這樣的擴展名... CopyToDataTable<T>(this IEnumerable<T> source) : DataTable
它存在於System.Data.DataTableExtensions中。
因此,我想我應該切換到使用這種內置的擴展方法,而不是使用我必須維護自己的擴展方法。
不幸的是,我在計算如何使用它時遇到了一些麻煩。
我可以帶我的IList並說myListofMyClass.CopyToDataTable(),但我得到一個編譯錯誤,說「類型'MyClass'必須可以轉換爲'System.Data.DataRow'爲了使用它作爲參數'T '在通用方法...「
是否有什麼特殊的我需要做的MyClass爲了使它可以轉換爲System.Data.DataRow?有一些我需要實現的接口嗎?
我已經與這個答案走了,因爲它最接近我想要的。我不認爲我會使用這種解決方案......但至少它回答了我爲什麼我不能使用它的問題,因爲他們放棄了這個功能,而博客文章是在測試日後回來的...... – mezoid 2009-03-01 21:09:56