Я не уверен, что это даже возможно, но здесь идет речь: у меня есть класс Zoo
, который содержит словарь Тип животных -> Список животных. например,
Cat Type -> {Cat1, Cat2}
Zebra Type -> {Zebra1, Zebra2}
Cat
и Zebra
являются подклассами Animal
. Теперь Zoo
имеет метод IList<Animal>
GetAnimalsOfType(Type type)
.
Я бы хотел, чтобы возвращаемое значение соответствовало типу запрашиваемого животного, поэтому вместо получения IList<Animal>
я бы получил IList<Cat>
или IList<Zebra>
в зависимости от типа животного, которое я передал в параметр типа.
Возможно ли это? Если так, то как?