3
如何初始化包含类型可能不同的通用对象的列表?初始化未知类型的通用对象
例如,我有以下几点:
this.Wheres = new List<Where<>>();
如你所知,<>不是有效的语法。然而,有时传递给Where的类型将是一个字符串,有时它会是DateTime等。我尝试使用object作为初始化类型,但这也不起作用。
如何初始化包含类型可能不同的通用对象的列表?初始化未知类型的通用对象
例如,我有以下几点:
this.Wheres = new List<Where<>>();
如你所知,<>不是有效的语法。然而,有时传递给Where的类型将是一个字符串,有时它会是DateTime等。我尝试使用object作为初始化类型,但这也不起作用。
嗯,你真的没有给予足够的情况下(这是什么SqlWhere?),但通常你会使用一个类型参数:如果你想有一个单一的集合包含多个不相关类型
public class Foo<T>
{
private IList<T> wheres;
public Foo()
{
wheres = new List<T>();
}
}
的值,但是,您将不得不使用List<object>
this.Wheres = new List<Object>();
这将添加(un)装箱和删除类型安全性。 – lacop 2008-12-22 16:42:05
如何防止如果列表可以由不同的对象类型组成? – Sergio 2008-12-22 16:48:58