【发布时间】:2023-04-03 11:04:01
【问题描述】:
如何初始化包含类型可以不同的通用对象的列表?
例如,我有以下内容:
this.Wheres = new List<Where<>>();
如您所知, 不是有效的语法。但是,有时传递给 Where 的类型是字符串,有时是 DateTime 等。我尝试使用 object 作为初始化类型,但这也不起作用。
【问题讨论】:
如何初始化包含类型可以不同的通用对象的列表?
例如,我有以下内容:
this.Wheres = new List<Where<>>();
如您所知, 不是有效的语法。但是,有时传递给 Where 的类型是字符串,有时是 DateTime 等。我尝试使用 object 作为初始化类型,但这也不起作用。
【问题讨论】:
this.Wheres = new List<Object>();
【讨论】:
好吧,你还没有真正给出足够的上下文(什么是 SqlWhere?),但通常你会使用类型参数:
public class Foo<T>
{
private IList<T> wheres;
public Foo()
{
wheres = new List<T>();
}
}
但是,如果您希望单个集合包含多个不相关类型的值,则必须使用 List<object>
【讨论】: