2010-10-27 21 views
0

Le code en question:Comment déboguer TreeNodeCollection

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

Ma question est moins sur le code lui-même (il prend tout son sens pour moi), tant que le débogueur. Quand au point de rupture je veux regarder le TreeNode dans categories.Nodes, mais categories.Nodes est un TreeNodeCollection et je ne peux pas trouver la liste sous-jacente, le tableau, ou tout ce qui est réellement utilisé sous le capot de TreeNodeCollection.

Comment puis-je naviguer le TreeNodeCollection afin que je puisse trouver la liste réelle en question?

Répondre

2

Examinez les nœuds individuels de la collection avec categoryNode [0], en modifiant l'index. Ou descendez dans la propriété privée propriétaire. Son champ enfants vous donne une liste de tous les nœuds. Ou si Linq est dans la portée, vous pouvez taper

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

Ok! Merci. Pour ceux qui viennent ici plus tard: la propriété du propriétaire privé est une propriété de TreeNodeCollection, donc dans l'exemple ci-dessus c'est categoryNode.Nodes.owner.children. Les propriétés 'owner' et 'children' sont privées, donc dans le débogueur, elles se cachent dans les sections "Variable privée" de leurs objets respectifs. – Crisfole