如何初始化包含类型可能不同的通用对象的列表?
例如,我有以下内容:
this.Wheres = new List<Where<>>();
如您所知,&lt;&gt;是无效的语法。但是,有时传递给Where的类型将是一个字符串,有时它将是DateTime等。我尝试使用object作为初始化类型,但这也不起作用。
答案 0 :(得分:10)
嗯,你还没有给出足够的上下文(什么是SqlWhere?),但通常你会使用一个类型参数:
public class Foo<T>
{
private IList<T> wheres;
public Foo()
{
wheres = new List<T>();
}
}
但是,如果您希望单个集合包含多个不相关的值类型,则必须使用List<object>
答案 1 :(得分:1)
this.Wheres = new List<Object>();