﻿<?xml version="1.0" encoding="utf-8"?><Type Name="BinaryExpression" FullName="System.Linq.Expressions.BinaryExpression"><TypeSignature Language="C#" Value="public class BinaryExpression : System.Linq.Expressions.Expression" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit BinaryExpression extends System.Linq.Expressions.Expression" /><AssemblyInfo><AssemblyName>System.Core</AssemblyName><AssemblyVersion>3.5.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>System.Linq.Expressions.Expression</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.Diagnostics.DebuggerTypeProxy(typeof(System.Linq.Expressions.Expression/BinaryExpressionProxy))</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The following tables summarize the factory methods that can be used to create a <see cref="T:System.Linq.Expressions.BinaryExpression" /> that has a specific node type, represented by the <see cref="P:System.Linq.Expressions.Expression.NodeType" /> property. Each table contains information for a specific class of operations such as arithmetic or bitwise.</para><format type="text/html"><h2>Binary Arithmetic Operations</h2></format><list type="table"><listheader><item><term><para>Node Type</para></term><description><para>Factory Method</para></description></item></listheader><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Add" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.Add" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.AddChecked" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.AddChecked" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Divide" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.Divide" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Modulo" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.Modulo" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Multiply" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.Multiply" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.MultiplyChecked" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.MultiplyChecked" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Power" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.Power" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Subtract" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.Subtract" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.SubtractChecked" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.SubtractChecked" /></para></description></item></list><format type="text/html"><h2>Bitwise Operations</h2></format><list type="table"><listheader><item><term><para>Node Type</para></term><description><para>Factory Method</para></description></item></listheader><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.And" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.And" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Or" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.Or" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.ExclusiveOr" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.ExclusiveOr" /></para></description></item></list><format type="text/html"><h2>Shift Operations</h2></format><list type="table"><listheader><item><term><para>Node Type</para></term><description><para>Factory Method</para></description></item></listheader><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.LeftShift" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.LeftShift" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.RightShift" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.RightShift" /></para></description></item></list><format type="text/html"><h2>Conditional Boolean Operations</h2></format><list type="table"><listheader><item><term><para>Node Type</para></term><description><para>Factory Method</para></description></item></listheader><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.AndAlso" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.AndAlso" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.OrElse" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.OrElse" /></para></description></item></list><format type="text/html"><h2>Comparison Operations</h2></format><list type="table"><listheader><item><term><para>Node Type</para></term><description><para>Factory Method</para></description></item></listheader><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Equal" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.Equal" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.NotEqual" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.NotEqual" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.GreaterThanOrEqual" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.GreaterThanOrEqual" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.GreaterThan" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.GreaterThan" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.LessThan" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.LessThan" /></para></description></item><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.LessThanOrEqual" /></para></term><description><para><see cref="Overload:System.Linq.Expressions.Expression.LessThanOrEqual" /></para></description></item></list><format type="text/html"><h2>Coalescing Operations</h2></format><list type="table"><listheader><item><term><para>Node Type</para></term><description><para>Factory Method</para></description></item></listheader><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.Coalesce" /></para></term><description><para><see cref="M:System.Linq.Expressions.Expression.Coalesce(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)" /></para></description></item></list><format type="text/html"><h2>Array Indexing Operations</h2></format><list type="table"><listheader><item><term><para>Node Type</para></term><description><para>Factory Method</para></description></item></listheader><item><term><para><see cref="F:System.Linq.Expressions.ExpressionType.ArrayIndex" /></para></term><description><para><see cref="M:System.Linq.Expressions.Expression.ArrayIndex(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)" /></para></description></item></list><para>In addition, the <see cref="Overload:System.Linq.Expressions.Expression.MakeBinary" /> methods can also be used to create a <see cref="T:System.Linq.Expressions.BinaryExpression" />. These factory methods can be used to create a <see cref="T:System.Linq.Expressions.BinaryExpression" /> of any node type that represents a binary operation. The parameter of these methods that is of type <see cref="P:System.Linq.Expressions.Expression.NodeType" /> specifies the desired node type.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents an expression that has a binary operator.</para></summary></Docs><Members><Member MemberName="Accept"><MemberSignature Language="C#" Value="protected override System.Linq.Expressions.Expression Accept (System.Linq.Expressions.ExpressionVisitor visitor);" /><MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig virtual instance class System.Linq.Expressions.Expression Accept(class System.Linq.Expressions.ExpressionVisitor visitor) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Linq.Expressions.Expression</ReturnType></ReturnValue><Parameters><Parameter Name="visitor" Type="System.Linq.Expressions.ExpressionVisitor" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This default implementation for <see cref="F:System.Linq.Expressions.ExpressionType.Extension" /> nodes calls <see cref="M:System.Linq.Expressions.ExpressionVisitor.VisitExtension(System.Linq.Expressions.Expression)" />. Override this method to call into a more specific method on a derived visitor class of the <see cref="T:System.Linq.Expressions.ExpressionVisitor" /> class. However, it should still support unknown visitors by calling <see cref="M:System.Linq.Expressions.ExpressionVisitor.VisitExtension(System.Linq.Expressions.Expression)" />. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Dispatches to the specific visit method for this node type. For example, <see cref="T:System.Linq.Expressions.MethodCallExpression" /> calls the <see cref="M:System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(System.Linq.Expressions.MethodCallExpression)" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The result of visiting this node.</para></returns><param name="visitor"><attribution license="cc4" from="Microsoft" modified="false" />The visitor to visit this node with.</param></Docs></Member><Member MemberName="CanReduce"><MemberSignature Language="C#" Value="public override bool CanReduce { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool CanReduce" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value that indicates whether the expression tree node can be reduced.</para></summary></Docs></Member><Member MemberName="Conversion"><MemberSignature Language="C#" Value="public System.Linq.Expressions.LambdaExpression Conversion { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Linq.Expressions.LambdaExpression Conversion" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>3.5.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Linq.Expressions.LambdaExpression</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Linq.Expressions.BinaryExpression.Conversion" /> property is null for any <see cref="T:System.Linq.Expressions.BinaryExpression" /> whose <see cref="P:System.Linq.Expressions.Expression.NodeType" /> property is not <see cref="F:System.Linq.Expressions.ExpressionType.Coalesce" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the type conversion function that is used by a coalescing or compound assignment operation.</para></summary></Docs></Member><Member MemberName="IsLifted"><MemberSignature Language="C#" Value="public bool IsLifted { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsLifted" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>3.5.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>An operator call is lifted if the operator expects non-nullable operands but nullable operands are passed to it.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value that indicates whether the expression tree node represents a <newTerm>lifted</newTerm> call to an operator.</para></summary></Docs></Member><Member MemberName="IsLiftedToNull"><MemberSignature Language="C#" Value="public bool IsLiftedToNull { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsLiftedToNull" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>3.5.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>An operator call is lifted if the operator expects non-nullable operands but nullable operands are passed to it. If the value of <see cref="P:System.Linq.Expressions.BinaryExpression.IsLiftedToNull" /> is true, the operator returns a nullable type, and if a nullable operand evaluates to null, the operator returns null.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value that indicates whether the expression tree node represents a <newTerm>lifted</newTerm> call to an operator whose return type is lifted to a nullable type.</para></summary></Docs></Member><Member MemberName="Left"><MemberSignature Language="C#" Value="public System.Linq.Expressions.Expression Left { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Linq.Expressions.Expression Left" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>3.5.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Linq.Expressions.Expression</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the left operand of the binary operation.</para></summary></Docs></Member><Member MemberName="Method"><MemberSignature Language="C#" Value="public System.Reflection.MethodInfo Method { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Reflection.MethodInfo Method" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>3.5.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodInfo</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If a <see cref="T:System.Linq.Expressions.BinaryExpression" /> represents an operation that uses a predefined operator, the <see cref="P:System.Linq.Expressions.BinaryExpression.Method" /> property is null.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the implementing method for the binary operation.</para></summary></Docs></Member><Member MemberName="Reduce"><MemberSignature Language="C#" Value="public override System.Linq.Expressions.Expression Reduce ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Linq.Expressions.Expression Reduce() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Linq.Expressions.Expression</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If CanReduce returns true, this should return a valid expression.</para><para>This method can return another node which itself must be reduced.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reduces the binary expression node to a simpler expression.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The reduced expression.</para></returns></Docs></Member><Member MemberName="Right"><MemberSignature Language="C#" Value="public System.Linq.Expressions.Expression Right { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Linq.Expressions.Expression Right" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>3.5.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Linq.Expressions.Expression</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the right operand of the binary operation.</para></summary></Docs></Member><Member MemberName="Update"><MemberSignature Language="C#" Value="public System.Linq.Expressions.BinaryExpression Update (System.Linq.Expressions.Expression left, System.Linq.Expressions.LambdaExpression conversion, System.Linq.Expressions.Expression right);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Linq.Expressions.BinaryExpression Update(class System.Linq.Expressions.Expression left, class System.Linq.Expressions.LambdaExpression conversion, class System.Linq.Expressions.Expression right) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Linq.Expressions.BinaryExpression</ReturnType></ReturnValue><Parameters><Parameter Name="left" Type="System.Linq.Expressions.Expression" /><Parameter Name="conversion" Type="System.Linq.Expressions.LambdaExpression" /><Parameter Name="right" Type="System.Linq.Expressions.Expression" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>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.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>This expression if no children are changed or an expression with the updated children.</para></returns><param name="left"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="P:System.Linq.Expressions.BinaryExpression.Left" /> property of the result. </param><param name="conversion"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="P:System.Linq.Expressions.BinaryExpression.Conversion" /> property of the result.</param><param name="right"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="P:System.Linq.Expressions.BinaryExpression.Right" /> property of the result. </param></Docs></Member></Members></Type>