public AddNode ( |
||
parent | The parent. | |
direction | TreeDirection | The direction. |
type | ExpressionType | The type. |
item | object | The item. |
return | 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; }