团结,怪异的调试

时间:2013-01-15 00:23:45

标签: c# list unity3d

我添加了必要的使用声明。使用System.Collections.Generic到我的类的顶部,编译器愉快地接受我对Lists的使用,但是当我调试时,我得到了一个非常奇怪的调试问题,当我扩展我的列表时,我得到:

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

有什么可能的原因?谷歌似乎没有帮助我...

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

我shoudl也提到这是通过MonoDevelop我看到这个错误。

感谢。

3 个答案:

答案 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> {}

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