我添加了必要的使用声明。使用System.Collections.Generic到我的类的顶部,编译器愉快地接受我对Lists的使用,但是当我调试时,我得到了一个非常奇怪的调试问题,当我扩展我的列表时,我得到:
未知类型'System.Collections.Generic.CollectionDebuggerView'1 mscorlib。
有什么可能的原因?谷歌似乎没有帮助我...
列表似乎在声明和空时声明了它们的信息,它们是用我创建的类定义的,但我从未在任何其他工具包中看到过这个问题,例如XNA等。
我shoudl也提到这是通过MonoDevelop我看到这个错误。
感谢。
答案 0 :(得分:10)
根据these release notes,这是Mono中的一个错误。它在2.10.2
中打了补丁,但Unity没有使用修补后的Mono版本。
679586:未知类型System.Collections.Generic.CollectionDebuggerView 在调试器中查看参数化集合时出错
Unity使用Mono 2.6。无法访问Unity的源代码,我不确定如何实现该补丁。即使使用了源代码,2.6
仍然是稳定版本2.10.2
,因此可能会在其他地方引发问题。
答案 1 :(得分:2)
使用.ToArray()
方法将我的List<T>
转换为T[]
数组。只是不要忘记在发布时扫描这段代码!
答案 2 :(得分:0)
快速而肮脏的解决方法对我有用:
private class CellList : List<Cell> {}
不知何故,它在调试器中正确显示。