Создание коллекции объектов нескольких указанных типов в C#
Можно ли создать одну коллекцию IEnumerable или Dictionary для объектов определенного класса и его потомков в C#?
Просто использовать тип "object" и приведение типов чревато возникновением ошибок и потерей данных.
Источник: Stack Overflow на русском