Действительно, ваша коллекция должна быть настолько специфичной, насколько вы можете это сделать. Когда вы говорите
объекты разных типов
Есть ли у этих объектов что-нибудь общее? Они реализуют общий интерфейс?
Если это так, вы можете специализировать список на этом интерфейсе List<IMyInterface>
В противном случае List<object>
будет делать то, что вы хотите.
Обновление
Нет, не совсем.
Извините, но я собираюсь поставить под сомнение ваш дизайн.
Если у вас есть коллекция различных объектов, как вы решаете, как использовать один из объектов?
У вас будет большой оператор switch для переключения типа объекта, затем вы приведете к конкретному объекту и будете его использовать.
У вас также есть аналогичный оператор switch в вашем фабричном методе, который создает объект.
Одним из преимуществ объектной ориентации является то, что если вы правильно проектируете свои объекты, вам не нужно делать эти большие "Если это этот объект, то делайте это. ».
Могу я спросить, почему вы кладете разные предметы в одну коллекцию? В чем выгода?