4
Warum Kovarianz und Kontravarianz den Wertetyp nicht unterstützen
IEnumerable<T>ist eine Co-Variante, unterstützt jedoch keinen Werttyp, sondern nur einen Referenztyp. Der folgende einfache Code wurde erfolgreich kompiliert: IEnumerable<string> strList = new List<string>(); IEnumerable<object> objList = strList; Beim Wechsel von stringzu intwird jedoch ein kompilierter Fehler angezeigt: IEnumerable<int> intList = new List<int>(); IEnumerable<object> objList = intList; Der Grund wird in …