2013-05-15 112 views
1

我似乎無法弄清楚爲什麼以下不起作用。IList的C#參數<IList <(ClassType)>>

從閱讀周圍看來,它似乎必須以某種方式與this之類的東西有關。

public class Test<T> 
{ 
    public void SomeFunction(IList<IList<T>> ListOfLists) 
    { 
    } 
} 

.... 

List<List<SimpleClass>> lists = new List<List<SimpleClass>>(); 
new Test<SimpleClass>().SomeFunction((IList<IList<SimpleClass>>)lists); 

我該如何要求列表實際上是一個列表清單?我似乎無法理解我做錯了什麼。

謝謝,

回答

5

List<List<SimpleClass>>不是IList<IList<SimpleClass>>

例如,對於後一種類型,您可以撥打lists.Add(new SimpleClass[5])作爲SimpleClass[]執行IList<SimpleClass>。但是你不能用List<List<SimpleClass>>這樣做,因爲每個元素都必須是List<SimpleClass>

這將是好的,但:

List<IList<SimpleClass>> lists = new List<IList<SimpleClass>>(); 
+0

我現在看得很清楚。哈。非常感謝。我也讀過你的其他答案,以及這篇文章與其他文章之間的關係。這說得通。 – aitee

相關問題