public bool IsChildOf(ITreeNode <T> possibleParentNode) { ITreeNode <T> cursor = Parent; while (cursor != null) { if (cursor.Equals(possibleParentNode)) { return(true); } else { cursor = cursor.Parent; } } return(false); }
/// <summary> /// Add child and set parent of node /// </summary> /// <param name="node"></param> public void AddChild(ITreeNode node) { if(node.Equals(this) || this.IsChild(node)) return; node.Parent = this; this.Children.Add(node); //this.tree.AddArc(this.Value, node.Value); }