Konvertieren Liste<DerivedClass> Liste<BaseClass>

Während wir Erben von der Basisklasse/Schnittstelle, warum können wir nicht erklären List<>
mit der gleichen Klasse/interface?

interface A
{ }

class B : A
{ }

class C : B
{ }

class Test
{
    static void Main(string[] args)
    {
        A a = new C(); //OK
        List<A> listOfA = new List<C>(); //compiler Error
    }
}

Gibt es einen Weg, um?

InformationsquelleAutor Asad Butt | 2009-11-30

Schreibe einen Kommentar