【发布时间】:2012-08-22 20:46:26
【问题描述】:
我有两个接口,一个包含另一个接口的列表,我想要一个实现第一个接口的类,但有一个实现第二个接口的另一个类的列表,而不仅仅是一个接口列表。示例:
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 有一个List<IBook> 并在我想使用它时将每个IBook 转换为Book?在这里寻找可以帮助我的模式。谢谢。
【问题讨论】:
-
仅供参考,您实现了一个接口,而不是继承它。
-
……除非你是另一个接口
-
@Jay 好吧,你让我到了那里。
-
@asawyer 好电话。不过我的问题是对的!