Инициализировать общий объект с неизвестным типом
Как инициализировать список, содержащий общие объекты, типы которых могут быть разными?
Например, у меня есть следующее:
this.Wheres = new List<Where<>>();
Как вы знаете, < > недействительный синтаксис. Однако иногда тип, переданный в Where, будет строкой, а иногда это DateTime и т.д. Я попытался использовать объект как инициализированный тип, но это тоже не работает.
Ответы
Ответ 1
Ну, вы действительно не дали достаточно контекста (что SqlWhere?), но обычно вы используете параметр типа:
public class Foo<T>
{
private IList<T> wheres;
public Foo()
{
wheres = new List<T>();
}
}
Если вы хотите, чтобы одна коллекция содержала несколько несвязанных типов значений, вам придется использовать List<object>
Ответ 2
this.Wheres = new List<Object>();