private List <CheckedTreeNode> GetNodesOfType(Type type, CheckedTreeNode node) { var result = new List <CheckedTreeNode>(); if (node.Children != null && node.Children.Any()) { foreach (var child in node.Children) { result.AddRange(GetNodesOfType(type, child)); } } else { if (node.Item.GetType() == type) { result.Add(node); } } return(result); }
public CheckedTreeNode(object item, string displayName, CheckedTreeNode parent) : this(item, displayName) { this.parent = parent; }
public CheckedTreeNode(object item, string displayName, Func <CheckedTreeNode, IEnumerable <CheckedTreeNode> > getChildren, CheckedTreeNode parent) : this(item, displayName, getChildren) { this.parent = parent; }