Represents an expression that has a binary operator.
Assemblies: System.Linq.Expressions (in System.Linq.Expressions.dll)
System.Core (in System.Core.dll)
Thetype exposes the following members.
|CanReduce||Gets a value that indicates whether the expression tree node can be reduced. (Overrides Expression.CanReduce.)|
|Conversion||Gets the type conversion function that is used by a coalescing or compound assignment operation.|
|IsLifted||Gets a value that indicates whether the expression tree node represents a lifted call to an operator.|
|IsLiftedToNull||Gets a value that indicates whether the expression tree node represents a lifted call to an operator whose return type is lifted to a nullable type.|
|Left||Gets the left operand of the binary operation.|
|Method||Gets the implementing method for the binary operation.|
|NodeType||Gets the node type of this Expression. (Inherited from Expression.)|
|Right||Gets the right operand of the binary operation.|
|Type||Gets the static type of the expression that this Expression represents. (Inherited from Expression.)|
|Accept||Dispatches to the specific visit method for this node type. For example, MethodCallExpression calls the VisitMethodCall. (Overrides Expression.Accept(ExpressionVisitor).)|
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|Reduce||Reduces the binary expression node to a simpler expression. (Overrides Expression.Reduce().)|
|ReduceAndCheck||Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced. (Inherited from Expression.)|
|ReduceExtensions||Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type. (Inherited from Expression.)|
|ToString||Returns a textual representation of the Expression. (Inherited from Expression.)|
|Update||Creates a new expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression.|
|VisitChildren||Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible. (Inherited from Expression.)|
The following tables summarize the factory methods that can be used to create a that has a specific node type, represented by the NodeType property. Each table contains information for a specific class of operations such as arithmetic or bitwise.
Binary Arithmetic Operations
Conditional Boolean Operations
Array Indexing Operations
The following example creates a object that represents the subtraction of one number from another.
// Create a BinaryExpression that represents subtracting 14 from 53. System.Linq.Expressions.BinaryExpression binaryExpression = System.Linq.Expressions.Expression.MakeBinary( System.Linq.Expressions.ExpressionType.Subtract, System.Linq.Expressions.Expression.Constant(53), System.Linq.Expressions.Expression.Constant(14)); Console.WriteLine(binaryExpression.ToString()); // This code produces the following output: // // (53 - 14)