ait*_*tee 1 c# generics parameters casting list
我似乎无法弄清楚为什么以下不起作用.
从阅读各地现在看来,这必须以某种方式涉及到像这样.
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 );
Run Code Online (Sandbox Code Playgroud)
如何要求列表实际上是列表列表?我似乎无法理解我做错了什么.
谢谢,
A List<List<SimpleClass>>不是IList<IList<SimpleClass>>.
例如,对于后一种类型,你可以调用lists.Add(new SimpleClass[5])的SimpleClass[]工具IList<SimpleClass>.但你不能用a来做List<List<SimpleClass>>,因为每个元素必须是a List<SimpleClass>.
这可能没关系:
List<IList<SimpleClass>> lists = new List<IList<SimpleClass>>();
Run Code Online (Sandbox Code Playgroud)