4
Чому коваріація та противаріантність не підтримують тип значення
IEnumerable<T>є спільним варіантом, але він не підтримує тип значення, а лише тип посилання. Нижче простий код складено успішно: IEnumerable<string> strList = new List<string>(); IEnumerable<object> objList = strList; Але перейшовши з stringна int, вийде компільована помилка: IEnumerable<int> intList = new List<int>(); IEnumerable<object> objList = intList; Причина пояснюється в MSDN : Варіант …