Hi,
ich bin relativ neu in C#.
Ich möchte einer Liste Container-Objekte hinzufügen, die wiederum einen Generischen Typen haben. Dieser soll von einer Basisklasse erben, ist aber sonst nicht bestimmt. Dies wird nicht so einfach zugelassen:
Wie bekomme ich diese "generisch-generischen" Objekte in eine Liste?
Muss ich die ganze Liste dazu Typlos halten? Was wäre die "schönste" Lösung?
Danke für eure Hilfe
ich bin relativ neu in C#.
Ich möchte einer Liste Container-Objekte hinzufügen, die wiederum einen Generischen Typen haben. Dieser soll von einer Basisklasse erben, ist aber sonst nicht bestimmt. Dies wird nicht so einfach zugelassen:
Code:
public abstract class Content {
// Some abstract stuff
// and some implementations...
}
public class ContentImpl : Content
{
// Implementation
}
public class Container<T> where T : Content
{
// Lists, Setter, getter, etc.
}
public class Manager
{
List<Container<Content>> list = new List<Container<Content>>();
public void add<T>(Container<T> cont) where T : Content
{
list.Add(cont); // FEHLER
// Warum ist das nicht erlaubt?
// T muss doch von Content erben.
}
}
Wie bekomme ich diese "generisch-generischen" Objekte in eine Liste?
Muss ich die ganze Liste dazu Typlos halten? Was wäre die "schönste" Lösung?
Danke für eure Hilfe