我有两个接口,一个包含另一个接口的列表,我想要一个实现第一个接口的类,但有一个实现第二个接口的另一个类的列表,而不仅仅是一个接口列表。例子:
namespace TestInheritance
{
public interface IBookShelf
{
long Stuff { get; set; }
List<IBook> Books { get; set; }
}
public interface IBook
{
string Name { get; set; }
}
public class BookShelf : IBookShelf
{
public long Stuff { get; set; }
public List<Book> Books { get; set; }
}
public class Book : IBook
{
public string Name { get; set; }
}
}
显然它不喜欢这样。有没有正确的方法来做我想做的事情,或者我只需要在我想使用它时制作BookShelf
have aList<IBook>
并将每个IBook
转换为 a ?Book
在这里寻找可以帮助我的模式。谢谢。