2013-01-15 74 views
14

我已经添加了必要的使用语句。使用System.Collections.Generic到我的类的顶部和编译器愉快地接受我使用列表,但是当我在调试时,我得到一个非常奇怪的调试问题,当我展开我的列表,而我得到:统一,奇怪的调试

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

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

列表似乎宣布他们的信息时声明和空,他们用我创建的类定义,但我从来没有见过这个问题在任何其他工具包,如XNA等

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

谢谢。

+0

Unity标签由Microsoft Unity保留。请使用unity3d标签来询问你想要的内容。 –

+4

仍然存在于Unity 4.3 ... – Danvil

+0

仍然存在于Unity 4.6 :( – Netherwire

回答

10

这是根据these release notes的Mono中的一个错误。它的修补程序为2.10.2,但Unity不使用修补的Mono版本。

679586:在调试器中查看参数化集合

统一使用单声道2.6时,未知类型System.Collections.Generic.CollectionDebuggerView 错误。如果不能访问Unity的源代码,我不确定如何实现该补丁。即使对于源代码,2.6仍然是稳定版本,因此可能会在其他地方引发问题。

+0

反正你应该使用单声道2.10.x mono 2.6.x是不稳定的,有时会因为未知原因而导致程序崩溃 – linquize

+0

根据他们的发行记录 - 单声道2.10发布了最新最好的更新版本,但他们没有收到尽可能多的测试结果,寻求绝对稳定的用户应该继续使用Mono 2.6。用户切换到Mono 2.10时,应该期望更快的错误转换时间,但他们也应该计划升级到即将推出的2.10.xx系列,因为我们修复了我们的堆栈中的错误。“我想这取决于补丁是否已经解决了您遇到的问题。 – keyboardP

+3

正确的信息upvote ...但我希望我可以downvote情况。 –

0

快速和肮脏的解决办法,其工作对我来说:

private class CellList : List<Cell> {} 

不知怎的,它正确地显示在调试器。

+0

都不适合我。 – 00jt

2

使用.ToArray()方法将我的List<T>转换为T[]数组。只是不要忘记在发布中扫描这些代码!