我似乎无法弄清楚为什么以下内容不起作用。
通过阅读,它似乎一定与 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 );
我怎样才能要求一个列表实际上是列表的列表?我似乎无法理解我做错了什么。
谢谢,
最佳答案
A 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>>();
关于IList<IList<(ClassType)>> 的 C# 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16572904/