void AddRecursiveNamespace(ICodeNamespace cns, List <ICodeType> types) { foreach (ICodeType type in cns.Types) { types.Add(type); AddRecursive(type, types); } foreach (ICodeNamespace ncns in cns.Namespaces) { AddRecursiveNamespace(ncns, types); } }
void AddElement(ICodeElement elem, TreeNode parent) { ICodeNamespace cns = elem as ICodeNamespace; if (cns != null && cns.ElementCount == 0) { return; } parent = parent.Nodes.Add(elem.ToString()); parent.Tag = elem; parent.ImageIndex = parent.SelectedImageIndex = ServiceHost.ImageListProvider[elem]; ICodeContainerElement icc = elem as ICodeContainerElement; if (icc != null) { foreach (ICodeElement ce in icc.Elements) { AddElement(ce, parent); } } }