2010-10-27 84 views
0

有问题的代码:如何调试TreeNodeCollection

TreeNode categoryNode = categories.Nodes[category]; //BREAKPOINT HERE 
categoryNode.Add("New Node") 

我的问题已经不再是代码本身(这一切对我来说很有意义),这么多的调试器。在中断点时,我想查看categories.Nodes中的TreeNode,但categories.NodesTreeNodeCollection,我无法找到底层列表,数组或实际在TreeNodeCollection下使用的任何内容。

如何导航TreeNodeCollection以便我可以找到有问题的实际列表?

回答

2

查看集合中具有categoryNode [0]的单个节点,更改索引。或者向下钻入私有所有者属性。其子女字段为您提供了所有节点的列表。或者如果Linq在范围内,你可以键入

categoryNode.OfType<TreeNode>(), results 
+0

好的!谢谢。 对于那些稍后来到这里的人: private owner属性是TreeNodeCollection的属性,因此在上面的示例中它是categoryNode.Nodes.owner.children。 'owner'和'children'都是私有的,所以在调试器中隐藏在它们各自对象的“Private Variable”部分。 – Crisfole 2010-10-27 19:11:16