Ich habe zwei Schnittstellen. Ich möchte sie für Liste und für Array verwenden.Zwei Generika und unendlich
public interface IBook<T>
{
string Name { get; set; }
T Authors { get; set; }
int PagesCount { get; set; }
}
public interface IAuthor<T>
{
string Name { get; set; }
T Books { get; set; }
}
class Author<T> : IAuthor<IBook<T>[]>
where T : IAuthor<IBook<T>[]>
{
public string Name { get; set; }
public IBook<T>[] Books { get; set; }
}
class Book<T> : IBook<IAuthor<T>[]>
where T : IBook<IAuthor<T>[]>
{
public string Name { get; set; }
public IAuthor<T>[] Authors { get; set; }
public int PagesCount { get; set; }
public static void Main(string[] args)
{
Author<IBook<IAuthor<...>[]>[]> a = new Author<>();
}
}
Gibt es eine Möglichkeit, ein Objekt wie dieses in main zu erstellen. Der Compiler sagt, dass in der Beschreibung der Schnittstellen und Klassen keine Fehler enthalten sind. Bitte hilf mir.
Ich verstehe Ihre Frage nicht, können Sie nicht nur instanziiert sie als Objekte oder eine Liste? –
Warum wollen/müssen Sie Generika hier verwenden? Auch warum sind 'Bücher' und' Autoren' ein 'T' anstelle von' T [] '? Diese Namen sind schließlich Plural. –
Erstellen Sie IBookCollection und IAuthorCollection, die IEnumerable implementiert und verwenden Sie es wie folgt: IAuthor –
MistyK