private ClassTreeNode FindNode(IClass iClass) { TreeNodeCollection nodes; INamespace[] namespaces = iClass.GetNamespaceChain(); if (namespaces.Length > 0) { nodes = FindNode(namespaces[namespaces.Length - 1]).Nodes; } else { nodes = FindNode(iClass.Assembly).Nodes; } return FindClassNode(nodes, iClass); }
private static TreeNode GetNamespaceNode(TreeNode asmNode, IClass iClass) { INamespace[] names = iClass.GetNamespaceChain(); TreeNode parentNode = asmNode; for (int i = 0; i < names.Length; ++i) { NamespaceTreeNode nextNode = FindNamespaceNode(parentNode.Nodes, names[i]); if (nextNode == null) { nextNode = new NamespaceTreeNode(names[i]); parentNode.Nodes.Add(nextNode); } parentNode = nextNode; } return parentNode; }