C# - вернуть типизированную коллекцию
С другой - опять же нифига не понял, в чем проблема была
Это заморочки ООП и генериков с коллекциями. В классическом ООП есть только объекты, который имеют класс, а классы существуют в иерерхии. Далле определяется кому и что можно присваивать и т.д. А теперь мы вводим две категории: 1) обычные объекты плюс 2) коллекции (ну или любой другой класс) с параметром обычных объектов. Каждый существует в своей собственной иерархии: иерархия обычных объектов и иерархия коллекций (но с параметром класса объекта). Теперь надо вводить более сложные правила в плане кому и что можно присваивать и кто с кем может работать. Называется ковариантность (движение в одном направлении в обоих иерархиях) и контравариантность (движение в разных направлениях).
На самом деле там корни в старой
махровой функциональщине, а потом уже через долгое время это скоммуниздили и переиначили оопешники. По любому гемор обеспечен.