В следующем коде я получаю ошибку компиляции «невозможно неявно привести» к «возвращаемым книгам»; линия.
Я думал, что, поскольку я возвращаю список объектов книги, реализующих IPublication, это должно работать нормально?
public interface IPublication {}
public class Book : IPublication {}
public List<IPublication> GetBooks()
{
List<Book> books = new List<Book>();
return books;
}
Я заметил, что если я верну одну книгу как один объект IPublication, она будет работать нормально. Представление List <>
требует явного приведения.
В качестве обходного пути я использую:
return books.Cast<IPublication>().ToList();