"Не удается преобразовать из List в List" в конструкторе базового класса
Есть базовый класс, конструктор которого принимает List<T>:
public class EditListElementsVM<T> where T : class, INotifyPropertyChanged
{
public EditListElementsVM(List<T>elementsList) =
{
//...
}
//...
}
И есть наследующий класс вызывающий конструктор родителя:
public class DocumentVM : EditListElementsVM
{
// Ошибка: Не удается преобразовать List<Document> в List<T>
public DocumentVM(List<Document> elementsList) : base(elementsList)
{
//...
}
//...
}
Я наверное не очень разбираюсь в дженериках, но разве List<Document> не должен подходить под сигнатуру List<T>?
Пробовал другую сигнатуру конструктора наследника, так тоже не работает:
public class DocumentVM : EditListElementsVM
{
public DocumentVM(List<Document> elementsList) : base<Document>()
{
}
}
p.s. исправил несогласованность по доступности родителя и наследника
Ответы (1 шт):
Автор решения: Igor Cheglakov
→ Ссылка
Благодаря @EvgeniyZ вопрос был решен следующим образом: необходимо указать дженерик сигнатуру родительского класса, т.е
public class DocumentVM : EditListElementsVM<Document>
{ }