public void ClearChildAssignment(IExpressionTreeNode existingChild, out ChildNodePosition childPosition) { if (object.Equals(Left, existingChild)) { Left = null; childPosition = ChildNodePosition.Left; } else if (object.Equals(Right, existingChild)) { Right = null; childPosition = ChildNodePosition.Right; } else { throw new ArgumentException("Specified node is not a child of this node."); } }
public void AssignChild(IExpressionTreeNode childNode, ChildNodePosition position) { if(position == ChildNodePosition.Left) { Left = childNode; } else { Right = childNode; } }