У меня есть несколько классов Linq2Sql, таких как "Article" "NewsItem" "Product".
У них всех есть заголовок, у всех есть уникальный идентификатор, и у них всех есть Сводка.
Итак, я создал интерфейс под названием IContent
public interface IContent {
int Id { get; set; }
String Title { get; set; }
String Summary { get; set; }
String HyperLink { get; set; }
}
В моем коде я пытаюсь сделать возможным передать List<T>
, который реализует IContent
, а затем использовать те общие свойства, которые я реализовал в каждом из частичных классов в моем проекте.
Итак, просто чтобы уточнить
Article
является организацией Linq.
Я создаю частичный класс и реализую IContent
Вот фрагмент кода Article.cs:
#region IContent Members
public int Id {
get {
return this.ArticleID;
}
set {
this.ArticleID = value;
}
}
Довольно просто. В моем коде я пытаюсь это сделать, но я не знаю, где я иду не так:
List<IContent> items;
MyDataContext cms = new MyDataContext();
items = cms.GetArticles();
// ERROR: Can not implicitly convert List<Article> to List<IContent>
Если мой Article
класс реализует IContent
, почему я не могу перейти в Статьи? Я не знаю, какие объекты будут переданы.
Я знаю, что могу сделать это с наследованием базового класса, но использование LinqToSQL не использует обычные объекты.
Я уверен, что я упускаю что-то простое.