Я хотел бы создать таблицу данных, данную List, используя метод CopyToDataTable, доступный в DataTableExtensions. Я уже задавал вопрос How do I transform a List into a DataSet? и получил exceptional answer от CMS, который должен был добиться того, чего я хотел, создав расширение public static DataTable ToDataTable<T>(this IEnumerable<T> collection)
Как использовать метод CopyToDataTable System.Data.DataTableExtensions?
Я использовал то, что он предложил ... но в последнее время я 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
Вы не будете использовать это? Мы добавили его в нашу структуру на работе (наряду с нулевым исправлением, которое вы найдете в одном из комментариев на этом блоге), и это действительно отлично работает. – BFree