/// <summary> /// Gets the nodes. /// </summary> /// <param name="nodes">The nodes.</param> /// <param name="matcher">The matcher.</param> /// <returns></returns> public List <TreeNode> GetNodes(TreeNodeCollection nodes, NodeMatch matcher) { List <TreeNode> result = new List <TreeNode>(); GetNodes(result, nodes, matcher); return(result); }
/// <summary> /// Gets the nodes. /// </summary> /// <param name="result">The result.</param> /// <param name="nodes">The nodes.</param> /// <param name="matcher">The matcher.</param> public void GetNodes(List <TreeNode> result, TreeNodeCollection nodes, NodeMatch matcher) { foreach (TreeNode node in nodes) { if (matcher(node)) { result.Add(node); } GetNodes(result, node.ChildNodes, matcher); } }
/// <summary> /// Gets the node. /// </summary> /// <param name="nodes">The nodes.</param> /// <param name="matcher">The matcher.</param> /// <returns></returns> public TreeNode GetNode(TreeNodeCollection nodes, NodeMatch matcher) { foreach (TreeNode node in nodes) { if (matcher(node)) { return(node); } TreeNode findNode = GetNode(node.ChildNodes, matcher); if (findNode != null) { return(findNode); } } return(null); }
/// <summary> /// Gets the nodes. /// </summary> /// <param name="matcher">The matcher.</param> /// <returns></returns> public List <TreeNode> GetNodes(NodeMatch matcher) { return(GetNodes(Nodes, matcher)); }