AddNode() public méthode

Adds the node.
public AddNode ( ExpressionNode parent, TreeDirection direction, ExpressionType type, object item ) : void
parent ExpressionNode The parent.
direction TreeDirection The direction.
type ExpressionType The type.
item object The item.
Résultat void
        public static ExpressionTree AssociateTreeWithFilter(ExpressionTree tree, FilterBase filter, 
            FilterImplication implication, TreeDirection treeDirection)
        {
            // check the parameters
            Debug.Assert(tree != null && filter != null, "Null parameters");
            ExpressionTree result = new ExpressionTree();

            if(treeDirection == TreeDirection.Left) {
                result.AddRoot(ExpressionType.Implication, implication);
                result.Root.Left = tree.Root;
                result.AddNode(result.Root, TreeDirection.Right, ExpressionType.Filter, filter);
            }
            else {
                result.AddRoot(ExpressionType.Implication, implication);
                result.Root.Right = tree.Root;
                result.AddNode(result.Root, TreeDirection.Left, ExpressionType.Filter, filter);
            }

            return result;
        }
        public static ExpressionTree AssociateFilters(FilterBase a, FilterBase b, 
            FilterImplication implication)
        {
            // check the parameters
            Debug.Assert(a != null && b != null, "Null parameters");

            ExpressionTree result = new ExpressionTree();
            result.AddRoot(ExpressionType.Implication, implication);
            result.AddNode(result.Root, TreeDirection.Left, ExpressionType.Filter, a);
            result.AddNode(result.Root, TreeDirection.Right, ExpressionType.Filter, b);
            return result;
        }