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