IEnumerable<T>jest kowariancją, ale nie obsługuje typu wartości, tylko typ referencyjny. Poniższy prosty kod został pomyślnie skompilowany: IEnumerable<string> strList = new List<string>(); IEnumerable<object> objList = strList; Ale zmiana z stringna intspowoduje błąd...