У меня есть класс, который я использую для перечисления через списки из моей базы данных.Все таблицы в базе данных имеют свой собственный класс со своими собственными свойствами, и все они наследуются от DatabaseTableRow.
public class DatabaseLinkRowsEnumerator<T> : IEnumerator<T>, IEnumerable<T> where T : DatabaseTableRow
У меня есть класс User, который наследуется от Page, которая наследуется от DatabaseTableRow.Затем у меня есть свойство, которое возвращает DatabaseLinkRowsEnumerator, список пользователей.
У меня также есть функция пользовательского интерфейса, которая отображает списки любой страницы в горизонтальном списке с изображением, именем и ссылкой.
protected string GetVerticalListModuleHtml(IEnumerable<Page> pages)
Теперь все, что я хочу сделать, это передать значение, которое у меня есть, DatabaseLinkRowsEnumerator этой функции.Пользователь наследует от Page, а DatabaseLinkRowsEnumerator является IEnumerator.Даже когда я пытаюсь разыграть, я получаю следующую ошибку:
Unable to cast object of type 'Database.DatabaseLinkRowsEnumerator`1[Database.User]' to type 'System.Collections.Generic.IEnumerable`1[Database.Page]'.
Я использую ASP.NET 2.0.У кого-нибудь есть какие-либо идеи о том, как преобразовать / преобразовать это, не создавая полную копию каждого?