переменной users2. Просьба дать вменяемый ответ. C чем это связано?
классы коллекций не ковариантны в отличие от интерфейсов
Есть такой список ответов. Интересно какой правильный
Due to invariance
то есть ты не узнать что-то новое хотел, а просто ответ на тест получить?
Потому что, иначе можно было бы добавить туда любой другой тип, но список у тебя то User-ов
Такого варианта там нет.
Я ответил due to IEnumerable интерфейс - зная что в С# можно создать variant-generic-interfaces.Но такой ответ является неправильным. Решил спросить здесь знающих. Наверное правильный ответ due to covariance. Но это вроде про другое...
Если вопрос именно почему нельзя вариант с users2 А не почему можно users, то ответа нет - потому что это через инвариантность классов
а ты вопрос правильно прочитал?)
Зацени: Why can we set “List<User>” to “IEnumerable<object>” but not to “List<object>”?
Из-за ковариации же
Так ты не так вопрос про прочитал
почему мы можем?
Да..лоханулся получается. Тогда due to covariance. Так как согласно офф доке написано "Covariance preserves assignment compatibility and contravariance reverses it."
Обсуждают сегодня