2 つのインターフェイスがあり、一方には他方のリストが含まれています。最初のインターフェイスを実装するクラスが必要ですが、インターフェイスの単なるリストではなく、2 番目のインターフェイスを実装する別のクラスのリストが必要です。例:
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; }
}
}
明らかに、これは好きではありません。私がやろうとしていることを行う正しい方法はありますか、それとも、使用したいときにa を作成し、それぞれを aBookShelf
にList<IBook>
キャストする必要がありますか? ここで私を助けることができるパターンを探しています。ありがとう。IBook
Book