14

我添加了必要的 using 语句。在我的类的顶部使用 System.Collections.Generic,编译器很乐意接受我对列表的使用,但是当我调试时,我遇到了一个非常奇怪的调试问题,因为当我展开列表时,我得到:

未知类型'System.Collections.Generic.CollectionDebuggerView'1 mscorlib。

可能有哪些原因?谷歌似乎没有帮助我......

列表在声明和空时似乎确实声明了它们的信息,并且它们是用我创建的类定义的,但我从未在任何其他工具包(如 XNA 等)中看到这个问题。

我还应该提到这是通过 MonoDevelop 我看到了这个错误。

谢谢。

4

3 回答 3

10

根据这些发行说明,这是 Mono 中的一个错误。它已修补2.10.2,但 Unity 未使用修补后的 Mono 构建。

679586:在调试器中查看参数化集合时出现未知类型 System.Collections.Generic.CollectionDebuggerView 错误

Unity 使用 Mono 2.6。如果无法访问 Unity 的源代码,我不确定如何实现该补丁。即使有源代码,2.6它仍然是稳定的构建,2.10.2所以它可能会在其他地方引起问题。

于 2013-01-15T00:29:30.607 回答
2

使用.ToArray()方法将 my 转换List<T>T[]数组。只是不要忘记在发布时扫描此代码!

于 2014-08-18T14:54:23.187 回答
0

对我有用的快速而肮脏的解决方法:

private class CellList : List<Cell> {}

不知何故,它在调试器中正确显示。

于 2014-01-05T15:40:19.317 回答