System.Core 3.5.0.0 4.0.0.0 System.Object To be added. Provides the base class from which the classes that represent expression tree nodes are derived. It also contains static (Shared in Visual Basic) factory methods to create the various node types. This is an abstract class. Constructor 4.0.0.0 To be added. Constructs a new instance of . Constructor 3.5.0.0 4.0.0.0 System.Obsolete("use a different constructor that does not take ExpressionType. Then override NodeType and Type properties to provide the values that would be specified to this constructor.") This constructor is called from constructors in derived classes. Initializes a new instance of the class. The to set as the node type. The of this . Method 4.0.0.0 System.Linq.Expressions.Expression This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . Dispatches to the specific visit method for this node type. For example, calls the . The result of visiting this node. The visitor to visit this node with. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If the property of either or represents a user-defined type that overloads the addition operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined addition operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined addition operator.
Creates a that represents an arithmetic addition operation that does not have overflow checking. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the addition operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined addition operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined addition operator.
Creates a that represents an arithmetic addition operation that does not have overflow checking. The implementing method can be specified. A that has the property equal to and the , and properties set to the specified values. A to set the property equal to. A to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents an addition assignment operation that does not have overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents an addition assignment operation that does not have overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents an addition assignment operation that does not have overflow checking. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents an addition assignment operation that has overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents an addition assignment operation that has overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents an addition assignment operation that has overflow checking. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the addition operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined addition operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined addition operator.
Creates a that represents an arithmetic addition operation that has overflow checking. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The implementing method for the operation is chosen based on the following rules: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the addition operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined addition operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined addition operator.
Creates a that represents an arithmetic addition operation that has overflow checking. The implementing method can be specified. A that has the property equal to and the , and properties set to the specified values. A to set the property equal to. A to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the bitwise AND operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are integral or Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined bitwise AND operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined bitwise AND operator.
Creates a that represents a bitwise AND operation. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The implementing method for the operation is chosen based on the following rules: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the bitwise AND operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are integral or Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined bitwise AND operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined bitwise AND operator.
Creates a that represents a bitwise AND operation. The implementing method can be specified. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. A to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the bitwise AND operator, the that represents that method is the implementing method. The conditional AND operator cannot be overloaded in C# or vbprvb. However, the conditional AND operator is evaluated by using the bitwise AND operator. Thus, a user-defined overload of the bitwise AND operator can be the implementing method for this node type. Otherwise, if .Type and .Type are Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable, and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: .Type and .Type are the same Boolean type. If .Type and .Type are non-nullable, the node is not lifted. The type of the node is the result type of the predefined conditional AND operator. If .Type and .Type are nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined conditional AND operator.
Creates a that represents a conditional AND operation that evaluates the second operand only if the first operand evaluates to true. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The implementing method for the operation is chosen based on the following rules: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the bitwise AND operator, the that represents that method is the implementing method. The conditional AND operator cannot be overloaded in C# or vbprvb. However, the conditional AND operator is evaluated by using the bitwise AND operator. Thus, a user-defined overload of the bitwise AND operator can be the implementing method for this node type. Otherwise, if .Type and .Type are Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable, and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: .Type and .Type are the same Boolean type. If .Type and .Type are non-nullable, the node is not lifted. The type of the node is the result type of the predefined conditional AND operator. If .Type and .Type are nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined conditional AND operator.
Creates a that represents a conditional AND operation that evaluates the second operand only if the first operand is resolved to true. The implementing method can be specified. A that has the property equal to and the , , and properties set to the specified values. A to set the property equal to. A to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise AND assignment operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise AND assignment operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise AND assignment operation. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.IndexExpression The expression that represents the array can be obtained by using the method, or through or . Creates an to access a multidimensional array. The created . An expression that represents the multidimensional array. An containing expressions used to index the array. Method 4.0.0.0 System.Linq.Expressions.IndexExpression System.ParamArray The expression that represents the array can be obtained by using the method, or through or . For multidimensional arrays, use the method. Creates an to access an array. The created . An expression representing the array to index. An array that contains expressions used to index the array. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MethodCallExpression Each element of must have equal to . The property of must represent an array type whose rank matches the number of elements in . If the rank of .Type is 1, this method returns a . The property is set to and the property is set to the single element of . The property of the represents the element type of .Type. If the rank of .Type is more than one, this method returns a . The property is set to the that describes the public instance method Get on the type represented by the property of . Creates a that represents applying an array index operator to an array of rank more than one. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression must represent an index of type . The property of the resulting is null, and both and are set to false. The property is equal to the element type of .Type. The property is null. Creates a that represents applying an array index operator to an array of rank one. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MethodCallExpression System.ParamArray Each element of must have equal to . The property of must represent an array type whose rank matches the number of elements in . If the rank of .Type is 1, this method returns a . The property is set to and the property is set to the single element of . The property of the represents the element type of .Type. If the rank of .Type is more than one, this method returns a . The property is set to the that describes the public instance method Get on the type represented by the property of . Creates a that represents applying an array index operator to a multidimensional array. A that has the property equal to and the and properties set to the specified values. An array of instances - indexes for the array index operation. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of must represent an array type. The property of the resulting is equal to . The property is null, and both and are set to false. Creates a that represents an expression for obtaining the length of a one-dimensional array. A that has the property equal to and the property equal to . An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression The Assign expression copies a value for value types, and it copies a reference for reference types. Creates a that represents an assignment operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberAssignment The property of must be assignable to the type represented by the or property of . Creates a that represents the initialization of a field or property. A that has equal to and the and properties set to the specified values. A to set the property equal to. An to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberAssignment The property of must be assignable to the type represented by the property of the property accessed in . Creates a that represents the initialization of a member by using a property accessor method. A that has the property equal to , the property set to the that represents the property accessed in , and the property set to . A that represents a property accessor method. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BlockExpression When the block expression is executed, it returns the value of the last expression in the block. Creates a that contains the given expressions and has no variables. The created . The expressions in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression System.ParamArray When the block expression is executed, it returns the value of the last expression in the block. Creates a that contains the given expressions and has no variables. The created . The expressions in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression When the block expression is executed, it returns the value of the last expression in the block. Creates a that contains the given variables and expressions. The created . The variables in the block. The expressions in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression System.ParamArray When the block expression is executed, it returns the value of the last expression in the block. Creates a that contains the given variables and expressions. The created . The variables in the block. The expressions in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression When the block expression is executed, it returns the value of the last expression in the block. Creates a that contains two expressions and has no variables. The created . The first expression in the block. The second expression in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression To be added. Creates a that contains the given expressions, has no variables and has specific result type. The created . The result type of the block. The expressions in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression System.ParamArray To be added. Creates a that contains the given expressions, has no variables and has specific result type. The created . The result type of the block. The expressions in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression When the block expression is executed, it returns the value of the last expression in the block. Creates a that contains three expressions and has no variables. The created . The first expression in the block. The second expression in the block. The third expression in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression To be added. Creates a that contains the given variables and expressions. The created . The result type of the block. The variables in the block. The expressions in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression System.ParamArray To be added. Creates a that contains the given variables and expressions. The created . The result type of the block. The variables in the block. The expressions in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression When the block expression is executed, it returns the value of the last expression in the block. Creates a that contains four expressions and has no variables. The created . The first expression in the block. The second expression in the block. The third expression in the block. The fourth expression in the block. Method 4.0.0.0 System.Linq.Expressions.BlockExpression When the block expression is executed, it returns the value of the last expression in the block. Creates a that contains five expressions and has no variables. The created . The first expression in the block. The second expression in the block. The third expression in the block. The fourth expression in the block. The fifth expression in the block. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a break statement. A with equal to Break, the property set to , and a null value to be passed to the target label upon jumping. The that the will jump to. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a break statement. The value passed to the label upon jumping can be specified. A with equal to Break, the property set to , and to be passed to the target label upon jumping. The that the will jump to. The value that will be passed to the associated label upon jumping. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a break statement with the specified type. A with equal to Break, the property set to , and the property set to . The that the will jump to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a break statement with the specified type. The value passed to the label upon jumping can be specified. A with equal to Break, the property set to , the property set to , and to be passed to the target label upon jumping. The that the will jump to. The value that will be passed to the associated label upon jumping. An to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MethodCallExpression To represent a call to a static (Shared in Visual Basic) method, pass in null for the parameter when you call this method. If represents an instance method, the property of must be assignable to the declaring type of the method represented by . The property of the resulting is empty. The property is equal to the return type of the method represented by . Creates a that represents a call to a method that takes no arguments. A that has the property equal to and the and properties set to the specified values. An that specifies the instance for an instance method call (pass null for a static (Shared in Visual Basic) method). A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.MethodCallExpression To be added. Creates a that represents a call to a static (Shared in Visual Basic) method. A that has the property equal to and the and properties set to the specified values. The that represents the target method. A collection of that represents the call arguments. Method 4.0.0.0 System.Linq.Expressions.MethodCallExpression To be added. Creates a that represents a call to a static (Shared in Visual Basic) method that takes one argument. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. The that represents the first argument. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MethodCallExpression System.ParamArray If is not null, it must have the same number of elements as the number of parameters for the method represented by . Each element in must not be null and must be assignable to the corresponding parameter of , possibly after quoting. An element will be quoted only if the corresponding method parameter is of type . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . The property of the resulting is empty if is null. Otherwise, it contains the same elements as , some of which may be quoted. The property of the resulting is equal to the return type of the method represented by . The property is null. Creates a that represents a call to a static (Shared in Visual Basic) method that has arguments. A that has the property equal to and the and properties set to the specified values. A that represents a static (Shared in Visual Basic) method to set the property equal to. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MethodCallExpression To represent a call to a static (Shared in Visual Basic) method, pass in null for the parameter when you call this method, or call instead. If represents an instance method, the property of must be assignable to the declaring type of the method represented by . If is not null, it must have the same number of elements as the number of parameters for the method represented by . Each element in must not be null and must be assignable to the corresponding parameter of , possibly after quoting. An element will be quoted only if the corresponding method parameter is of type . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . The property of the resulting is empty if is null. Otherwise, it contains the same elements as , some of which may be quoted. The property of the resulting is equal to the return type of the method represented by . Creates a that represents a call to a method that takes arguments. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to (pass null for a static (Shared in Visual Basic) method). A to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MethodCallExpression System.ParamArray To represent a call to a static (Shared in Visual Basic) method, pass in null for the parameter when you call this method, or call instead. If represents an instance method, the property of must be assignable to the declaring type of the method represented by . If is not null, it must have the same number of elements as the number of parameters for the method represented by . Each element in must not be null and must be assignable to the corresponding parameter of , possibly after quoting. An element will be quoted only if the corresponding method parameter is of type . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . The property of the resulting is empty if is null. Otherwise, it contains the same elements as , some of which may be quoted. The property of the resulting is equal to the return type of the method represented by . Creates a that represents a call to a method that takes arguments. A that has the property equal to and the , , and properties set to the specified values. An that specifies the instance fo an instance method call (pass null for a static (Shared in Visual Basic) method). A to set the property equal to. An array of objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.MethodCallExpression To be added. Creates a that represents a call to a static method that takes two arguments. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. The that represents the first argument. The that represents the second argument. Method 4.0.0.0 System.Linq.Expressions.MethodCallExpression To be added. Creates a that represents a call to a method that takes two arguments. A that has the property equal to and the and properties set to the specified values. An that specifies the instance for an instance call. (pass null for a static (Shared in Visual Basic) method). The that represents the target method. The that represents the first argument. The that represents the second argument. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MethodCallExpression System.ParamArray The property of the resulting is equal to the return type of the method denoted by . Creates a that represents a call to a method by calling the appropriate factory method. A that has the property equal to , the property equal to , set to the that represents the specified instance method, and set to the specified arguments. An whose property value will be searched for a specific method. The name of the method. An array of objects that specify the type parameters of the generic method. This argument should be null when methodName specifies a non-generic method. An array of objects that represents the arguments to the method. Method 4.0.0.0 System.Linq.Expressions.MethodCallExpression To be added. Creates a that represents a call to a static method that takes three arguments. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. The that represents the first argument. The that represents the second argument. The that represents the third argument. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MethodCallExpression System.ParamArray The property of the resulting is equal to the return type of the method denoted by . The property is null. Creates a that represents a call to a static (Shared in Visual Basic) method by calling the appropriate factory method. A that has the property equal to , the property set to the that represents the specified static (Shared in Visual Basic) method, and the property set to the specified arguments. The that specifies the type that contains the specified static (Shared in Visual Basic) method. The name of the method. An array of objects that specify the type parameters of the generic method. This argument should be null when methodName specifies a non-generic method. An array of objects that represent the arguments to the method. Method 4.0.0.0 System.Linq.Expressions.MethodCallExpression To be added. Creates a that represents a call to a method that takes three arguments. A that has the property equal to and the and properties set to the specified values. An that specifies the instance for an instance call. (pass null for a static (Shared in Visual Basic) method). The that represents the target method. The that represents the first argument. The that represents the second argument. The that represents the third argument. Method 4.0.0.0 System.Linq.Expressions.MethodCallExpression To be added. Creates a that represents a call to a static method that takes four arguments. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. The that represents the first argument. The that represents the second argument. The that represents the third argument. The that represents the fourth argument. Method 4.0.0.0 System.Linq.Expressions.MethodCallExpression To be added. Creates a that represents a call to a static method that takes five arguments. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. The that represents the first argument. The that represents the second argument. The that represents the third argument. The that represents the fourth argument. The that represents the fifth argument. Property 4.0.0.0 System.Boolean To be added. To be added. Indicates that the node can be reduced to a simpler node. If this returns true, Reduce() can be called to produce the reduced form. Method 4.0.0.0 System.Linq.Expressions.CatchBlock To be added. Creates a representing a catch statement with a reference to the caught object for use in the handler body. The created . A representing a reference to the object caught by this handler. The body of the catch statement. Method 4.0.0.0 System.Linq.Expressions.CatchBlock The of to be caught can be specified but no reference to the object will be available for use in the . Creates a representing a catch statement. The created . The of this will handle. The body of the catch statement. Method 4.0.0.0 System.Linq.Expressions.CatchBlock To be added. Creates a representing a catch statement with an filter and a reference to the caught object. The created . A representing a reference to the object caught by this handler. The body of the catch statement. The body of the filter. Method 4.0.0.0 System.Linq.Expressions.CatchBlock To be added. Creates a representing a catch statement with an filter but no reference to the caught object. The created . The of this will handle. The body of the catch statement. The body of the filter. Method 4.0.0.0 System.Linq.Expressions.DebugInfoExpression To be added. Creates a for clearing a sequence point. An instance of for clearning a sequence point. The that represents the source file. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The property of the resulting is null and both and are set to false. The property is equal to the result type of the coalescing operation. The property is null.

Result Type

The following rules determine the result type: If .Type represents a nullable type and .Type is implicitly convertible to the corresponding non-nullable type, the result type is the non-nullable equivalent of .Type. Otherwise, if .Type is implicitly convertible to .Type, the result type is .Type. Otherwise, if the non-nullable equivalent of .Type is implicitly convertible to .Type, the result type is .Type.
Creates a that represents a coalescing operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The property of the resulting is null and both and are set to false. The property of the resulting is equal to the result type of the coalescing operation. The following rules determine the result type: If .Type represents a nullable type and .Type is implicitly convertible to the corresponding non-nullable type, the result type is the non-nullable equivalent of .Type. Otherwise, if .Type is implicitly convertible to .Type, the result type is .Type. Otherwise, if the non-nullable equivalent of .Type is implicitly convertible to .Type, the result type is .Type. Creates a that represents a coalescing operation, given a conversion function. A that has the property equal to and the , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ConditionalExpression The property of the resulting is equal to the property of . Creates a that represents a conditional statement. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.ConditionalExpression This method allows explicitly unifying the result type of the conditional expression in cases where the types of and expressions are not equal. Types of both and must be implicitly reference assignable to the result type. The is allowed to be . Creates a that represents a conditional statement. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ConstantExpression The property of the resulting is equal to the type of . If is null, is equal to . To represent null, you can also use the method, with which you can explicitly specify the type. Creates a that has the property set to the specified value. A that has the property equal to and the property set to the specified value. An to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ConstantExpression This method can be useful for representing values of nullable types. Creates a that has the and properties set to the specified values. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a continue statement. A with equal to Continue, the property set to , and a null value to be passed to the target label upon jumping. The that the will jump to. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a continue statement with the specified type. A with equal to Continue, the property set to , the property set to , and a null value to be passed to the target label upon jumping. The that the will jump to. An to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is false. If the node is lifted, is true. Otherwise, it is false.

Implementing Method

The following rules determine the implementing method for the operation: If either .Type or is a user-defined type that defines an implicit or explicit conversion operator, the that represents that operator is the implementing method. Otherwise: If both .Type and represent numeric or Boolean types, or nullable or non-nullable enumeration types, the implementing method is null. If either .Type or is a reference type and an explicit boxing, unboxing, or reference conversion exists from .Type to , the implementing method is null.

Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method and the return type of the implementing method is assignable to , the node is not lifted. If one or both of .Type or is a nullable value type and the corresponding non-nullable value types are equal to the argument type and the return type of the implementing method respectively, the node is lifted. If the implementing method is null: If both .Type and are non-nullable, the node is not lifted. Otherwise the node is lifted.
Creates a that represents a type conversion operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is false. If the node is lifted, is true. Otherwise, it is false.

Implementing Method

The following rules determine the implementing method for the operation: If method is not null, it is the implementing method. It must represent a non-void, static (Shared in Visual Basic) method that takes one argument. Otherwise, if either .Type or is a user-defined type that defines an implicit or explicit conversion operator, the that represents that operator is the implementing method. Otherwise: If both .Type and represent numeric or Boolean types, or nullable or non-nullable enumeration types, the implementing method is null. If either .Type or is a reference type and an explicit boxing, unboxing, or reference conversion exists from .Type to , the implementing method is null.

Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method and the return type of the implementing method is assignable to , the node is not lifted. If either or both of .Type or are a nullable value type and the corresponding non-nullable value types are equal to the argument type and the return type of the implementing method respectively, the node is lifted. If the implementing method is null: If both .Type and are non-nullable, the node is not lifted. Otherwise the node is lifted.
Creates a that represents a conversion operation for which the implementing method is specified. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. A to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is false. If the node is lifted, is true. Otherwise, it is false.

Implementing Method

The following rules determine the implementing method for the operation: If either .Type or is a user-defined type that defines an implicit or explicit conversion operator, the that represents that operator is the implementing method. Otherwise: If both .Type and represent numeric or Boolean types, or nullable or non-nullable enumeration types, the implementing method is null. If either .Type or is a reference type and an explicit boxing, unboxing, or reference conversion exists from .Type to , the implementing method is null.

Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method and the return type of the implementing method is assignable to , the node is not lifted. If either or both of .Type or are a nullable value type and the corresponding non-nullable value types are equal to the argument type and the return type of the implementing method respectively, the node is lifted. If the implementing method is null: If both .Type and are non-nullable, the node is not lifted. Otherwise the node is lifted.
Creates a that represents a conversion operation that throws an exception if the target type is overflowed. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is false. If the node is lifted, is true. Otherwise, it is false.

Implementing Method

The following rules determine the implementing method for the operation: If method is not null, it is the implementing method. It must represent a non-void, static (Shared in Visual Basic) method that takes one argument. Otherwise, if either .Type or is a user-defined type that defines an implicit or explicit conversion operator, the that represents that operator is the implementing method. Otherwise: If both .Type and represent numeric or Boolean types, or nullable or non-nullable enumeration types, the implementing method is null. If either .Type or is a reference type and an explicit boxing, unboxing, or reference conversion exists from .Type to , the implementing method is null.

Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method and the return type of the implementing method is assignable to , the node is not lifted. If either or both of .Type or are a nullable value type and the corresponding non-nullable value types are equal to the argument type and the return type of the implementing method respectively, the node is lifted. If the implementing method is null: If both .Type and are non-nullable, the node is not lifted. Otherwise the node is lifted.
Creates a that represents a conversion operation that throws an exception if the target type is overflowed and for which the implementing method is specified. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. A to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.DebugInfoExpression To be added. Creates a with the specified span. An instance of . The that represents the source file. The start line of this . Must be greater than 0. The start column of this . Must be greater than 0. The end line of this . Must be greater or equal than the start line. The end column of this . If the end line is the same as the start line, it must be greater or equal than the start column. In any case, must be greater than 0. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression This expression is functional and does not change the value of the object passed to it. Creates a that represents the decrementing of the expression by 1. A that represents the decremented expression. An to decrement. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression This expression is functional and does not change the value of the object passed to it. Creates a that represents the decrementing of the expression by 1. A that represents the decremented expression. An to decrement. A that represents the implementing method. Method 4.0.0.0 System.Linq.Expressions.DefaultExpression To be added. Creates a that has the property set to the specified type. A that has the property equal to and the property set to the specified type. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the division operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined division operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined division operator.
Creates a that represents an arithmetic division operation. A that has the property equal to and the and properties set to the specified values. An to set the property to. An to set the property to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the division operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined division operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined division operator.
Creates a that represents an arithmetic division operation. The implementing method can be specified. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a division assignment operation that does not have overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a division assignment operation that does not have overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a division assignment operation that does not have overflow checking. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression The property of the result will be inferred from the types of the arguments and the specified return type. Creates a that represents a dynamic operation bound by the provided . A that has equal to and has the and set to the specified values. The runtime binder for the dynamic operation. The result type of the dynamic expression. The arguments to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression The property of the result will be inferred from the types of the arguments and the specified return type. Creates a that represents a dynamic operation bound by the provided . A that has equal to and has the and set to the specified values. The runtime binder for the dynamic operation. The result type of the dynamic expression. The first argument to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression System.ParamArray The property of the result will be inferred from the types of the arguments and the specified return type. Creates a that represents a dynamic operation bound by the provided . A that has equal to and has the and set to the specified values. The runtime binder for the dynamic operation. The result type of the dynamic expression. The arguments to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression The property of the result will be inferred from the types of the arguments and the specified return type. Creates a that represents a dynamic operation bound by the provided . A that has equal to and has the and set to the specified values. The runtime binder for the dynamic operation. The result type of the dynamic expression. The first argument to the dynamic operation. The second argument to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression The property of the result will be inferred from the types of the arguments and the specified return type. Creates a that represents a dynamic operation bound by the provided . A that has equal to and has the and set to the specified values. The runtime binder for the dynamic operation. The result type of the dynamic expression. The first argument to the dynamic operation. The second argument to the dynamic operation. The third argument to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression The property of the result will be inferred from the types of the arguments and the specified return type. Creates a that represents a dynamic operation bound by the provided . A that has equal to and has the and set to the specified values. The runtime binder for the dynamic operation. The result type of the dynamic expression. The first argument to the dynamic operation. The second argument to the dynamic operation. The third argument to the dynamic operation. The fourth argument to the dynamic operation. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ElementInit The parameter must represent an instance method named "Add" (case insensitive). The add method must have the same number of parameters as the number of elements in . The property of each element in must be assignable to the type of the corresponding parameter of the add method, possibly after quoting. An element will be quoted only if the corresponding method parameter is of type . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . Creates an , given an as the second argument. An that has the and properties set to the specified values. A to set the property equal to. An that contains objects to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ElementInit System.ParamArray The parameter must represent an instance method named "Add" (case insensitive). The add method must have the same number of parameters as the number of elements in . The property of each element in must be assignable to the type of the corresponding parameter of the add method, possibly after quoting. An element will be quoted only if the corresponding method parameter is of type . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . Creates an , given an array of values as the second argument. An that has the and properties set to the specified values. A to set the property equal to. An array of objects to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.DefaultExpression An empty expression can be used where an expression is expected but no action is desired. For example, you can use an empty expression as the last expression in a block expression. In this case, the block expression's return value is void. Creates an empty expression that has type. A that has the property equal to and the property set to . Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true. Otherwise, it is false. The property is always false. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the equality operator, the that represents that method is the implementing method. Otherwise, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is : .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is .
Creates a that represents an equality comparison. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true and the property is equal to . Otherwise, they are both false. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the equality operator, the that represents that method is the implementing method. Otherwise, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted; also, the type of the node is nullable if is true or if is false: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is nullable if is true or if is false.
Creates a that represents an equality comparison. The implementing method can be specified. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. true to set to true; false to set to false. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the XOR operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are integral or Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined XOR operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined XOR operator.
Creates a that represents a bitwise XOR operation, using op_ExclusiveOr for user-defined types. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the chosen implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the XOR operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are integral or Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined XOR operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined XOR operator.
Creates a that represents a bitwise XOR operation, using op_ExclusiveOr for user-defined types. The implementing method can be specified. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberExpression The property of the resulting is equal to the property of . Creates a that represents accessing a field. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. For static (Shared in Visual Basic), must be null. The to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberExpression The property of the resulting is equal to the property of the that represents the field denoted by . This method searches .Type and its base types for a field that has the name . Public fields are given preference over non-public fields. If a matching field is found, this method passes and the that represents that field to . Creates a that represents accessing a field given the name of the field. A that has the property equal to , the property set to , and the property set to the that represents the field denoted by . An whose contains a field named . This can be null for static fields. The name of a field to be accessed. Method 4.0.0.0 System.Linq.Expressions.MemberExpression To be added. Creates a that represents accessing a field. The created . The containing object of the field. This can be null for static fields. The that contains the field. The field to be accessed. Method 3.5.0.0 4.0.0.0 System.Type System.ParamArray As an example, if the elements of represent the types T1…Tn, the resulting object represents the constructed delegate type System.Action<T1,…,Tn> in C# or System.Action(Of T1,…,Tn) in Visual Basic. Creates a object that represents a generic System.Action delegate type that has specific type arguments. The type of a System.Action delegate that has the specified type arguments. An array of up to sixteen objects that specify the type arguments for the System.Action delegate type. Method 4.0.0.0 System.Type System.ParamArray The last type argument determines the return type of the delegate. If no Func or Action is large enough, it will generate a custom delegate type. As with Func, the last argument is the return type. It can be set to System.Void to produce an Action. Gets a object that represents a generic System.Func or System.Action delegate type that has specific type arguments. The delegate type. The type arguments of the delegate. Method 3.5.0.0 4.0.0.0 System.Type System.ParamArray must contain at least one and at most seventeen elements. As an example, if the elements of represent the types T1…Tn, the resulting object represents the constructed delegate type System.Func<T1,…,Tn> in C# or System.Func(Of T1,…,Tn) in Visual Basic. Creates a object that represents a generic System.Func delegate type that has specific type arguments. The last type argument specifies the return type of the created delegate. The type of a System.Func delegate that has the specified type arguments. An array of one to seventeen objects that specify the type arguments for the System.Func delegate type. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a "go to" statement. A with equal to Goto, the property set to the specified value, and a null value to be passed to the target label upon jumping. The that the will jump to. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a "go to" statement. The value passed to the label upon jumping can be specified. A with equal to Goto, the property set to , and to be passed to the target label upon jumping. The that the will jump to. The value that will be passed to the associated label upon jumping. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a "go to" statement with the specified type. A with equal to Goto, the property set to the specified value, the property set to , and a null value to be passed to the target label upon jumping. The that the will jump to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a "go to" statement with the specified type. The value passed to the label upon jumping can be specified. A with equal to Goto, the property set to , the property set to , and to be passed to the target label upon jumping. The that the will jump to. The value that will be passed to the associated label upon jumping. An to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true. Otherwise, it is false. The property is always false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the "greater than" operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is : .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is .
Creates a that represents a "greater than" numeric comparison. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true and the property is equal to . Otherwise, they are both false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation : If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the "greater than" operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted; also, the type of the node is nullable if is true or if is false: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is nullable if is true or if is false.
Creates a that represents a "greater than" numeric comparison. The implementing method can be specified. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. true to set to true; false to set to false. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true. Otherwise, it is false. The property is always false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the "greater than or equal" operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is : .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is .
Creates a that represents a "greater than or equal" numeric comparison. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true and the property is equal to . Otherwise, they are both false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the "greater than or equal" operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted; also, the type of the node is nullable if is true or if is false: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is nullable if is true or if is false.
Creates a that represents a "greater than or equal" numeric comparison. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. true to set to true; false to set to false. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.ConditionalExpression To be added. Creates a that represents a conditional block with an if statement. A that has the property equal to and the , , properties set to the specified values. The property is set to default expression and the type of the resulting returned by this method is . An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.ConditionalExpression To be added. Creates a that represents a conditional block with if and else statements. A that has the property equal to and the , , and properties set to the specified values. The type of the resulting returned by this method is . An to set the property equal to. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression This expression is functional and does not change the value of the object that is passed to it. Creates a that represents the incrementing of the expression value by 1. A that represents the incremented expression. An to increment. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression This expression is functional and does not change the value of the object that is passed to it. Creates a that represents the incrementing of the expression by 1. A that represents the incremented expression. An to increment. A that represents the implementing method. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.InvocationExpression The property of the resulting represents the return type of the delegate that is represented by .Type. The property of the resulting is empty if is null. Otherwise, it contains the same elements as except that some of these objects may be quoted. An element will be quoted only if the corresponding parameter of the delegate represented by is of type . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . Creates an that applies a delegate or lambda expression to a list of argument expressions. An that applies the specified delegate or lambda expression to the provided arguments. An that represents the delegate or lambda expression to be applied to. An that contains objects that represent the arguments that the delegate or lambda expression is applied to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.InvocationExpression System.ParamArray The property of the resulting represents the return type of the delegate that is represented by .Type. The property of the resulting is empty if is null. Otherwise, it contains the same elements as except that some of these objects may be quoted. An element will be quoted only if the corresponding parameter of the delegate represented by is of type . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . Creates an that applies a delegate or lambda expression to a list of argument expressions. An that applies the specified delegate or lambda expression to the provided arguments. An that represents the delegate or lambda expression to be applied. An array of objects that represent the arguments that the delegate or lambda expression is applied to. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Returns whether the expression evaluates to false. An instance of . An to evaluate. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Returns whether the expression evaluates to false. An instance of . An to evaluate. A that represents the implementing method. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Returns whether the expression evaluates to true. An instance of . An to evaluate. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Returns whether the expression evaluates to true. An instance of . An to evaluate. A that represents the implementing method. Method 4.0.0.0 System.Linq.Expressions.LabelTarget To be added. Creates a representing a label with void type and no name. The new . Method 4.0.0.0 System.Linq.Expressions.LabelExpression To be added. Creates a representing a label without a default value. A without a default value. The which this will be associated with. Method 4.0.0.0 System.Linq.Expressions.LabelTarget To be added. Creates a representing a label with void type and the given name. The new . The name of the label. Method 4.0.0.0 System.Linq.Expressions.LabelTarget To be added. Creates a representing a label with the given type. The new . The type of value that is passed when jumping to the label. Method 4.0.0.0 System.Linq.Expressions.LabelExpression To be added. Creates a representing a label with the given default value. A with the given default value. The which this will be associated with. The value of this when the label is reached through regular control flow. Method 4.0.0.0 System.Linq.Expressions.LabelTarget To be added. Creates a representing a label with the given type and name. The new . The type of value that is passed when jumping to the label. The name of the label. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. An to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.LambdaExpression System.ParamArray The parameter must not have more than sixteen elements. The elements of must be reference equal to the parameter expressions in . This method constructs an appropriate delegate type from one of the System.Func generic delegates. It then passes the delegate type to one of the factory methods to create a . Creates a by first constructing a delegate type. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An array of objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. An to set the property equal to. A that indicates if tail call optimization will be applied when compiling the created expression. An that contains objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression System.ParamArray To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. An to set the property equal to. A that indicates if tail call optimization will be applied when compiling the created expression. An array that contains objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. An to set the property equal to. The name for the lambda. Used for emitting debug information. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.LambdaExpression The object that is returned from this function is of type . The type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time. The number of parameters for the delegate type represented by must equal the length of . The elements of must be reference equal to the parameter expressions in . The property of the resulting object is equal to . If is null, the property of the resulting object is an empty collection. Creates a by first constructing a delegate type. It can be used when the delegate type is not known at compile time. An object that represents a lambda expression which has the property equal to and the and properties set to the specified values. A that represents a delegate signature for the lambda. An to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.LambdaExpression System.ParamArray The object that is returned from this function is of type . The type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time. The number of parameters for the delegate type represented by must equal the length of . The elements of must be reference equal to the parameter expressions in . The property of the resulting object is equal to . If is null, the property of the resulting object is an empty collection. Creates a by first constructing a delegate type. It can be used when the delegate type is not known at compile time. An object that represents a lambda expression which has the property equal to and the and properties set to the specified values. A that represents a delegate signature for the lambda. An to set the property equal to. An array of objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. An to set the property equal to. The name for the lambda. Used for emitting debug information. A that indicates if tail call optimization will be applied when compiling the created expression. An that contains objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. A representing the delegate signature for the lambda. An to set the property equal to. A that indicates if tail call optimization will be applied when compiling the created expression. An that contains objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression System.ParamArray To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. A representing the delegate signature for the lambda. An to set the property equal to. A that indicates if tail call optimization will be applied when compiling the created expression. An array that contains objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. A representing the delegate signature for the lambda. An to set the property equal to. The name for the lambda. Used for emitting debug information. An that contains objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LambdaExpression To be added. Creates a LambdaExpression by first constructing a delegate type. A that has the property equal to Lambda and the and properties set to the specified values. A representing the delegate signature for the lambda. An to set the property equal to. The name for the lambda. Used for emitting debug information. A that indicates if tail call optimization will be applied when compiling the created expression. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.Expression<TDelegate> The number of parameters for the delegate type must equal the number of elements in . The elements of must be reference equal to the parameter expressions in . The property of the resulting object represents the type . If is null, the property of the resulting object is an empty collection. Creates an where the delegate type is known at compile time. An that has the property equal to and the and properties set to the specified values. An to set the property equal to. An that contains objects to use to populate the collection. A delegate type. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.Expression<TDelegate> System.ParamArray The number of parameters for the delegate type must equal the number of elements in . The elements of must be reference equal to the parameter expressions in . The property of the resulting object represents the type . If is null, the property of the resulting object is an empty collection. Creates an where the delegate type is known at compile time. An that has the property equal to and the and properties set to the specified values. An to set the property equal to. An array of objects to use to populate the collection. A delegate type. Method 4.0.0.0 System.Linq.Expressions.Expression<TDelegate> To be added. Creates an where the delegate type is known at compile time. An that has the property equal to and the and properties set to the specified values. An to set the property equal to. A that indicates if tail call optimization will be applied when compiling the created expression. An that contains objects to use to populate the collection. The delegate type. Method 4.0.0.0 System.Linq.Expressions.Expression<TDelegate> System.ParamArray To be added. Creates an where the delegate type is known at compile time. An that has the property equal to and the and properties set to the specified values. An to set the property equal to. A that indicates if tail call optimization will be applied when compiling the created expression. An array that contains objects to use to populate the collection. The delegate type. Method 4.0.0.0 System.Linq.Expressions.Expression<TDelegate> To be added. Creates an where the delegate type is known at compile time. An that has the property equal to and the and properties set to the specified values. An to set the property equal to. The name of the lambda. Used for generating debugging information. An that contains objects to use to populate the collection. The delegate type. Method 4.0.0.0 System.Linq.Expressions.Expression<TDelegate> To be added. Creates an where the delegate type is known at compile time. An that has the property equal to and the and properties set to the specified values. An to set the property equal to. The name of the lambda. Used for generating debugging info. A that indicates if tail call optimization will be applied when compiling the created expression. An that contains objects to use to populate the collection. The delegate type. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If the property of either or represents a user-defined type that overloads the left-shift operator, the that represents that method is the implementing method. Otherwise, if .Type is an integral type (one of , , , , , , , , or the corresponding nullable types) and .Type is , the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined left-shift operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined left-shift operator.
Creates a that represents a bitwise left-shift operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the left-shift operator, the that represents that method is the implementing method. Otherwise, if .Type is an integral type (one of , , , , , , , , or the corresponding nullable types) and .Type is , the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined left-shift operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined left-shift operator.
Creates a that represents a bitwise left-shift operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise left-shift assignment operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise left-shift assignment operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise left-shift assignment operation. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true. Otherwise, it is false. The property is always false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The implementing method for the operation is chosen based on the following rules: If the property of either or represents a user-defined type that overloads the "less than" operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is : .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is .
Creates a that represents a "less than" numeric comparison. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true and the property is equal to . Otherwise, they are both false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the "less than" operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted; also, the type of the node is nullable if is true or if is false: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is nullable if is true or if is false.
Creates a that represents a "less than" numeric comparison. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. true to set to true; false to set to false. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true. Otherwise, it is false. The property is always false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the "less than or equal" operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is : .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is .
Creates a that represents a " less than or equal" numeric comparison. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true and the property is equal to . Otherwise, they are both false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the "less than or equal" operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted; also, the type of the node is nullable if is true or if is false: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is nullable if is true or if is false.
Creates a that represents a "less than or equal" numeric comparison. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. true to set to true; false to set to false. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberListBinding To be added. Creates a where the member is a field or property. A that has the property equal to and the and properties set to the specified values. A that represents a field or property to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberListBinding System.ParamArray To be added. Creates a where the member is a field or property. A that has the property equal to and the and properties set to the specified values. A that represents a field or property to set the property equal to. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberListBinding To be added. Creates a based on a specified property accessor method. A that has the property equal to , the property set to the that represents the property accessed in , and populated with the elements of . A that represents a property accessor method. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberListBinding System.ParamArray To be added. Creates a object based on a specified property accessor method. A that has the property equal to , the property set to the that represents the property accessed in , and populated with the elements of . A that represents a property accessor method. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ListInitExpression The property of must represent a type that implements . The property of the resulting is equal to .Type. Creates a that uses specified objects to initialize a collection. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ListInitExpression The property of must represent a type that implements . In order to use this overload of , .Type or its base type must declare a single method named "Add" (case insensitive) that takes exactly one argument. The type of the argument must be assignable from the type represented by the property of the first element of . The property of the returned contains one element of type for each element of . The property of each element of is a singleton collection that contains the corresponding element of . The property of each element of represents the add method that was discovered on .Type or its base type. The property of the resulting is equal to .Type. Creates a that uses a method named "Add" to add elements to a collection. A that has the property equal to and the property set to the specified value. A to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ListInitExpression System.ParamArray The property of must represent a type that implements . The property of the resulting is equal to .Type. Creates a that uses specified objects to initialize a collection. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ListInitExpression System.ParamArray The property of must represent a type that implements . In order to use this overload of , .Type or its base type must declare a single method named "Add" (case insensitive) that takes exactly one argument. The type of the argument must be assignable from the type represented by the property of the first element of . The property of the returned contains one element of type for each element of . The property of each element of is a singleton collection that contains the corresponding element of . The property of each element of represents the add method that was discovered on .Type or its base type. The property of the resulting is equal to .Type. Creates a that uses a method named "Add" to add elements to a collection. A that has the property equal to and the property set to the specified value. A to set the property equal to. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ListInitExpression The property of must represent a type that implements . If is null, .Type or its base type must declare a single method named "Add" (case insensitive) that takes exactly one argument. If is not null, it must represent an instance method named "Add" (case insensitive) that has exactly one parameter. The type represented by the property of each element of must be assignable to the argument type of the add method. The property of the returned contains one element of type for each element of . The property of each element of is a singleton collection that contains the corresponding element of . The property of each element of is equal to . The property of the resulting is equal to .Type. Creates a that uses a specified method to add elements to a collection. A that has the property equal to and the property set to the specified value. A to set the property equal to. A that represents an instance method named "Add" (case insensitive), that adds an element to a collection. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ListInitExpression System.ParamArray The property of must represent a type that implements . If is null, .Type or its base type must declare a single method named "Add" (case insensitive) that takes exactly one argument. If is not null, it must represent an instance method named "Add" (case insensitive) that has exactly one parameter. The type represented by the property of each element of must be assignable to the argument type of the add method. The property of the returned contains one element of type for each element of . The property of each element of is a singleton collection that contains the corresponding element of . The property of each element of is equal to . The property of the resulting is equal to .Type. Creates a that uses a specified method to add elements to a collection. A that has the property equal to and the property set to the specified value. A to set the property equal to. A that represents an instance method that takes one argument, that adds an element to a collection. An array of objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.LoopExpression To be added. Creates a with the given body. The created . The body of the loop. Method 4.0.0.0 System.Linq.Expressions.LoopExpression To be added. Creates a with the given body and break target. The created . The body of the loop. The break target used by the loop body. Method 4.0.0.0 System.Linq.Expressions.LoopExpression To be added. Creates a with the given body. The created . The body of the loop. The break target used by the loop body. The continue target used by the loop body. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The parameter determines which factory method this method calls. For example, if is , this method invokes . Creates a , given the left and right operands, by calling an appropriate factory method. The that results from calling the appropriate factory method. The that specifies the type of binary operation. An that represents the left operand. An that represents the right operand. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The parameter determines which factory method this method will call. For example, if is , this method invokes . The and parameters are ignored if the appropriate factory method does not have a corresponding parameter. Creates a , given the left operand, right operand and implementing method, by calling the appropriate factory method. The that results from calling the appropriate factory method. The that specifies the type of binary operation. An that represents the left operand. An that represents the right operand. true to set to true; false to set to false. A that specifies the implementing method. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The parameter determines which factory method this method will call. For example, if is , this method invokes . The , and parameters are ignored if the appropriate factory method does not have a corresponding parameter. Creates a , given the left operand, right operand, implementing method and type conversion function, by calling the appropriate factory method. The that results from calling the appropriate factory method. The that specifies the type of binary operation. An that represents the left operand. An that represents the right operand. true to set to true; false to set to false. A that specifies the implementing method. A that represents a type conversion function. This parameter is used only if is or compound assignment.. Method 4.0.0.0 System.Linq.Expressions.CatchBlock must be non-null and match the type of (if it is supplied). Creates a representing a catch statement with the specified elements. The created . The of this will handle. A representing a reference to the object caught by this handler. The body of the catch statement. The body of the filter. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression To be added. Creates a that represents a dynamic operation bound by the provided . A that has equal to and has the , , and set to the specified values. The type of the delegate used by the . The runtime binder for the dynamic operation. The arguments to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression To be added. Creates a that represents a dynamic operation bound by the provided and one argument. A that has equal to and has the , , and set to the specified values. The type of the delegate used by the . The runtime binder for the dynamic operation. The argument to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression System.ParamArray To be added. Creates a that represents a dynamic operation bound by the provided . A that has equal to and has the , , and set to the specified values. The type of the delegate used by the . The runtime binder for the dynamic operation. The arguments to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression To be added. Creates a that represents a dynamic operation bound by the provided and two arguments. A that has equal to and has the , , and set to the specified values. The type of the delegate used by the . The runtime binder for the dynamic operation. The first argument to the dynamic operation. The second argument to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression To be added. Creates a that represents a dynamic operation bound by the provided and three arguments. A that has equal to and has the , , and set to the specified values. The type of the delegate used by the . The runtime binder for the dynamic operation. The first argument to the dynamic operation. The second argument to the dynamic operation. The third argument to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.DynamicExpression To be added. Creates a that represents a dynamic operation bound by the provided and four arguments. A that has equal to and has the , , and set to the specified values. The type of the delegate used by the . The runtime binder for the dynamic operation. The first argument to the dynamic operation. The second argument to the dynamic operation. The third argument to the dynamic operation. The fourth argument to the dynamic operation. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a jump of the specified . The value passed to the label upon jumping can also be specified. A with equal to , the property set to , the property set to , and to be passed to the target label upon jumping. The of the . The that the will jump to. The value that will be passed to the associated label upon jumping. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.IndexExpression To be added. Creates an that represents accessing an indexed property in an object. The created . The object to which the property belongs. It should be null if the property is static (shared in Visual Basic). An representing the property to index. An IEnumerable<Expression> (IEnumerable (Of Expression) in Visual Basic) that contains the arguments that will be used to index the property. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberExpression This method can be used to create a that represents accessing either a field or a property, depending on the type of . If is of type , this method calls to create the . If is of type , this method calls to create the . Creates a that represents accessing either a field or a property. The that results from calling the appropriate factory method. An that represents the object that the member belongs to. This can be null for static members. The that describes the field or property to be accessed. Method 4.0.0.0 System.Linq.Expressions.TryExpression To be added. Creates a representing a try block with the specified elements. The created . The result type of the try expression. If null, bodh and all handlers must have identical type. The body of the try block. The body of the finally block. Pass null if the try block has no finally block associated with it. The body of the fault block. Pass null if the try block has no fault block associated with it. A collection of s representing the catch statements to be associated with the try block. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The parameter determines which factory method this method calls. For example, if is equal to , this method invokes . The parameter is ignored if it does not apply to the factory method that is called. Creates a , given an operand, by calling the appropriate factory method. The that results from calling the appropriate factory method. The that specifies the type of unary operation. An that represents the operand. The that specifies the type to be converted to (pass null if not applicable). Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The parameter determines which factory method this method calls. For example, if is equal to , this method invokes . The and parameters are ignored if they do not apply to the factory method that is called. Creates a , given an operand and implementing method, by calling the appropriate factory method. The that results from calling the appropriate factory method. The that specifies the type of unary operation. An that represents the operand. The that specifies the type to be converted to (pass null if not applicable). The that represents the implementing method. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberMemberBinding The parameter must represent a field or property. Creates a that represents the recursive initialization of members of a field or property. A that has the property equal to and the and properties set to the specified values. The to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberMemberBinding System.ParamArray The parameter must represent a field or property. Creates a that represents the recursive initialization of members of a field or property. A that has the property equal to and the and properties set to the specified values. The to set the property equal to. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberMemberBinding To be added. Creates a that represents the recursive initialization of members of a member that is accessed by using a property accessor method. A that has the property equal to , the property set to the that represents the property accessed in , and properties set to the specified values. The that represents a property accessor method. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberMemberBinding System.ParamArray To be added. Creates a that represents the recursive initialization of members of a member that is accessed by using a property accessor method. A that has the property equal to , the property set to the that represents the property accessed in , and properties set to the specified values. The that represents a property accessor method. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberInitExpression The property of the resulting is equal to the property of . Represents an expression that creates a new object and initializes a property of the object. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberInitExpression System.ParamArray The property of the resulting is equal to the property of . Creates a . A that has the property equal to and the and properties set to the specified values. A to set the property equal to. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If the property of either or represents a user-defined type that overloads the modulus operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined modulus operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined modulus operator.
Creates a that represents an arithmetic remainder operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The implementing method for the operation is chosen based on the following rules: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the modulus operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined modulus operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined modulus operator.
Creates a that represents an arithmetic remainder operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a remainder assignment operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a remainder assignment operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a remainder assignment operation. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If the property of either or represents a user-defined type that overloads the multiplication operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined multiplication operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined multiplication operator.
Creates a that represents an arithmetic multiplication operation that does not have overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the multiplication operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined multiplication operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined multiplication operator.
Creates a that represents an arithmetic multiplication operation that does not have overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a multiplication assignment operation that does not have overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a multiplication assignment operation that does not have overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a multiplication assignment operation that does not have overflow checking. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a multiplication assignment operation that has overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a multiplication assignment operation that has overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a multiplication assignment operation that has overflow checking. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If the property of either or represents a user-defined type that overloads the multiplication operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined multiplication operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined multiplication operator.
Creates a that represents an arithmetic multiplication operation that has overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the multiplication operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined multiplication operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined multiplication operator.
Creates a that represents an arithmetic multiplication operation that has overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false.

Implementing Method

The following rules determine the implementing method for the operation: If .Type is a user-defined type that defines the unary minus operator, the that represents that operator is the implementing method. Otherwise, if .Type is a numeric type, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type is a nullable value type and the corresponding non-nullable value type is equal to the argument type of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null, the type of the node is .Type. If .Type is non-nullable, the node is not lifted. Otherwise, the node is lifted.
Creates a that represents an arithmetic negation operation. A that has the property equal to and the property set to the specified value. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes one argument, it is the implementing method for the node. If .Type is a user-defined type that defines the unary minus operator, the that represents that operator is the implementing method. Otherwise, if .Type is a numeric type, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type is a nullable value type and the corresponding non-nullable value type is equal to the argument type of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null, the type of the node is .Type. If .Type is non-nullable, the node is not lifted. Otherwise, the node is lifted.
Creates a that represents an arithmetic negation operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false.

Implementing Method

The following rules determine the implementing method for the operation: If .Type is a user-defined type that defines the unary minus operator, the that represents that operator is the implementing method. Otherwise, if .Type is a numeric type, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type is a nullable value type and the corresponding non-nullable value type is equal to the argument type of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null, the type of the node is .Type. If .Type is non-nullable, the node is not lifted. Otherwise, the node is lifted.
Creates a that represents an arithmetic negation operation that has overflow checking. A that has the property equal to and the property set to the specified value. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes one argument, it is the implementing method for the node. If .Type is a user-defined type that defines the unary minus operator, the that represents that operator is the implementing method. Otherwise, if .Type is a numeric type, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type is a nullable value type and the corresponding non-nullable value type is equal to the argument type of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null, the type of the node is .Type. If .Type is non-nullable, the node is not lifted. Otherwise, the node is lifted.
Creates a that represents an arithmetic negation operation that has overflow checking. The implementing method can be specified. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewExpression The and properties of the resulting are empty collections. The property represents the declaring type of the constructor represented by . Creates a that represents calling the specified constructor that takes no arguments. A that has the property equal to and the property set to the specified value. The to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewExpression The parameter must represent a type that has a constructor without parameters. The and properties of the resulting are empty collections. The property is equal to . Creates a that represents calling the parameterless constructor of the specified type. A that has the property equal to and the property set to the that represents the constructor without parameters for the specified type. A that has a constructor that takes no arguments. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewExpression The parameter must contain the same number of elements as the number of parameters for the constructor represented by . If is null, it is considered empty, and the property of the resulting is an empty collection. The property of the resulting represents the declaring type of the constructor represented by . The property is an empty collection. Creates a that represents calling the specified constructor with the specified arguments. A that has the property equal to and the and properties set to the specified values. The to set the property equal to. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewExpression System.ParamArray The parameter must contain the same number of elements as the number of parameters for the constructor represented by . If is null, it is considered empty, and the property of the resulting is an empty collection. The property of the resulting represents the declaring type of the constructor represented by . The property is an empty collection. Creates a that represents calling the specified constructor with the specified arguments. A that has the property equal to and the and properties set to the specified values. The to set the property equal to. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewExpression The parameter must contain the same number of elements as the number of parameters for the constructor represented by . If is null, it is considered empty, and the property of the resulting is an empty collection. If is null, the property of the resulting is an empty collection. If is not null, it must have the same number of elements as and each element must not be null. Each element of must be a , or that represents an instance member on the declaring type of the constructor represented by . If it represents a property, the property must have a get accessor. The corresponding element of for each element of must have a property that represents a type that is assignable to the type of the member that the element represents. The property of the resulting represents the declaring type of the constructor that represents. Creates a that represents calling the specified constructor with the specified arguments. The members that access the constructor initialized fields are specified. A that has the property equal to and the , and properties set to the specified values. The to set the property equal to. An that contains objects to use to populate the collection. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewExpression System.ParamArray The parameter must contain the same number of elements as the number of parameters for the constructor represented by . If is null, it is considered empty, and the property of the resulting is an empty collection. If is null, the property of the resulting is an empty collection. If is not null, it must have the same number of elements as and each element must not be null. Each element of must be a , or that represents an instance member on the declaring type of the constructor represented by . If it represents a property, the property must be able to retrieve the value of the associated field. The corresponding element of for each element of must have a property that represents a type that is assignable to the type of the member that the element represents. The property of the resulting represents the declaring type of the constructor that represents. Creates a that represents calling the specified constructor with the specified arguments. The members that access the constructor initialized fields are specified as an array. A that has the property equal to and the , and properties set to the specified values. The to set the property equal to. An that contains objects to use to populate the collection. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewArrayExpression The property of the resulting represents an array type whose rank is equal to the length of and whose element type is . The property of each element of must represent an integral type. Creates a that represents creating an array that has a specified rank. A that has the property equal to and the property set to the specified value. A that represents the element type of the array. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewArrayExpression System.ParamArray The property of the resulting represents an array type whose rank is equal to the length of and whose element type is . The property of each element of must represent an integral type. Creates a that represents creating an array that has a specified rank. A that has the property equal to and the property set to the specified value. A that represents the element type of the array. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewArrayExpression The property of each element of must represent a type that is assignable to the type represented by , possibly after it is quoted. An element will be quoted only if is . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . The property of the resulting represents an array type whose rank is 1 and whose element type is . Creates a that represents creating a one-dimensional array and initializing it from a list of elements. A that has the property equal to and the property set to the specified value. A that represents the element type of the array. An that contains objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.NewArrayExpression System.ParamArray The property of each element of must represent a type that is assignable to the type represented by , possibly after it is quoted. An element will be quoted only if is . Quoting means the element is wrapped in a node. The resulting node is a whose property is the element of . The property of the resulting represents an array type whose rank is 1 and whose element type is . Creates a that represents creating a one-dimensional array and initializing it from a list of elements. A that has the property equal to and the property set to the specified value. A that represents the element type of the array. An array of objects to use to populate the collection. Property 3.5.0.0 4.0.0.0 System.Linq.Expressions.ExpressionType To be added. The property provides a more specialized description of an than just its derived type. For example, a can be used to represent many different kinds of binary expressions, such as a division operation or a "greater than" operation. The property would describe these binary expressions as and , respectively. The static CLR type of the expression that the object represents is represented by the property. Gets the node type of this . Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false.

Implementing Method

The following rules determine the implementing method for the operation: If .Type is a user-defined type that defines the unary not operator, the that represents that operator is the implementing method. Otherwise, if .Type is a numeric or Boolean type, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type is a nullable value type and the corresponding non-nullable type is equal to the argument type of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null, the type of the node is .Type. If .Type is non-nullable, the node is not lifted. Otherwise, the node is lifted.
Creates a that represents a bitwise complement operation. A that has the property equal to and the property set to the specified value. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes one argument, it is the implementing method for the node. If .Type is a user-defined type that defines the unary not operator, the that represents that operator is the implementing method. Otherwise, if .Type is a numeric type, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type is a nullable value type and the corresponding non-nullable value type is equal to the argument type of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null, the type of the node is .Type. If .Type is non-nullable, the node is not lifted. Otherwise, the node is lifted.
Creates a that represents a bitwise complement operation. The implementing method can be specified. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true. Otherwise, it is false. The property is always false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the inequality operator, the that represents that method is the implementing method. Otherwise, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is : .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is .
Creates a that represents an inequality comparison. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the property is true and the property is equal to . Otherwise, they are both false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the inequality operator, the that represents that method is the implementing method. Otherwise, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted; also, the type of the node is nullable if is true or if is false: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is . If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is . If .Type and .Type are both nullable, the node is lifted. The type of the node is nullable if is true or if is false.
Creates a that represents an inequality comparison. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. true to set to true; false to set to false. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Returns the expression representing the ones complement. An instance of . An . Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Returns the expression representing the ones complement. An instance of . An . A that represents the implementing method. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the bitwise OR operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are integral or Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined bitwise OR operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined bitwise OR operator.
Creates a that represents a bitwise OR operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the bitwise OR operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are integral or Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined bitwise OR operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined bitwise OR operator.
Creates a that represents a bitwise OR operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise OR assignment operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise OR assignment operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise OR assignment operation. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the bitwise OR operator, the that represents that method is the implementing method. The conditional OR operator cannot be overloaded in C# or vbprvb. However, the conditional OR operator is evaluated by using the bitwise OR operator. Thus, a user-defined overload of the bitwise OR operator can be the implementing method for this node type. Otherwise, if .Type and .Type are Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable, and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: .Type and .Type are the same Boolean type. If .Type and .Type are non-nullable, the node is not lifted. The type of the node is the result type of the predefined conditional OR operator. If .Type and .Type are nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined conditional OR operator.
Creates a that represents a conditional OR operation that evaluates the second operand only if the first operand evaluates to false. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the bitwise OR operator, the that represents that method is the implementing method. The conditional OR operator cannot be overloaded in C# or vbprvb. However, the conditional OR operator is evaluated by using the bitwise OR operator. Thus, a user-defined overload of the bitwise OR operator can be the implementing method for this node type. Otherwise, if .Type and .Type are Boolean types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable, and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: .Type and .Type are the same Boolean type. If .Type and .Type are non-nullable, the node is not lifted. The type of the node is the result type of the predefined conditional OR operator. If .Type and .Type are nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined conditional OR operator.
Creates a that represents a conditional OR operation that evaluates the second operand only if the first operand evaluates to false. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.ParameterExpression To be added. Creates a node that can be used to identify a parameter or a variable in an expression tree. A node with the specified name and type. The type of the parameter or variable. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.ParameterExpression To be added. Creates a node that can be used to identify a parameter or a variable in an expression tree. A that has the property equal to and the and properties set to the specified values. The type of the parameter or variable. The name of the parameter or variable, used for debugging or printing purpose only. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression. A that represents the resultant expression. An to apply the operations on. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression. A that represents the resultant expression. An to apply the operations on. A that represents the implementing method. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression. A that represents the resultant expression. An to apply the operations on. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression. A that represents the resultant expression. An to apply the operations on. A that represents the implementing method. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If the property of either or represents a user-defined type that overloads the exponentiation operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are both , the implementing method is .

Node Type and Lifted versus Non-Lifted

If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type.
Creates a that represents raising a number to a power. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method. Otherwise, if the property of either or represents a user-defined type that overloads the exponentiation operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are both , the implementing method is .

Node Type and Lifted versus Non-Lifted

If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type.
Creates a that represents raising a number to a power. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents raising an expression to a power and assigning the result back to the expression. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents raising an expression to a power and assigning the result back to the expression. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents raising an expression to a power and assigning the result back to the expression. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that decrements the expression by 1 and assigns the result back to the expression. A that represents the resultant expression. An to apply the operations on. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that decrements the expression by 1 and assigns the result back to the expression. A that represents the resultant expression. An to apply the operations on. A that represents the implementing method. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that increments the expression by 1 and assigns the result back to the expression. A that represents the resultant expression. An to apply the operations on. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that increments the expression by 1 and assigns the result back to the expression. A that represents the resultant expression. An to apply the operations on. A that represents the implementing method. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberExpression The property of the resulting is equal to the property of . If the method represented by is static (Shared in Visual Basic), can be null. Creates a that represents accessing a property by using a property accessor method. A that has the property equal to , the property set to and the property set to the that represents the property accessed in . An to set the property equal to. This can be null for static properties. The that represents a property accessor method. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberExpression The property of the resulting is equal to the property of . If the property represented by is static (Shared in Visual Basic), can be null. Creates a that represents accessing a property. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. This can be null for static properties. The to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberExpression The property of the resulting is equal to the property of the that represents the property denoted by . This method searches .Type and its base types for a property that has the name . Public properties are given preference over non-public properties. If a matching property is found, this method passes and the that represents that property to . Creates a that represents accessing a property. A that has the property equal to , the property set to , and the property set to the that represents the property denoted by . An whose contains a property named . This can be null for static properties. The name of a property to be accessed. Method 4.0.0.0 System.Linq.Expressions.IndexExpression To be added. Creates an representing the access to an indexed property. The created . The object to which the property belongs. If the property is static/shared, it must be null. The that represents the property to index. An of objects that are used to index the property. Method 4.0.0.0 System.Linq.Expressions.IndexExpression System.ParamArray To be added. Creates an representing the access to an indexed property. The created . The object to which the property belongs. If the property is static/shared, it must be null. The that represents the property to index. An array of objects that are used to index the property. Method 4.0.0.0 System.Linq.Expressions.IndexExpression System.ParamArray To be added. Creates an representing the access to an indexed property. The created . The object to which the property belongs. If the property is static/shared, it must be null. The name of the indexer. An array of objects that are used to index the property. Method 4.0.0.0 System.Linq.Expressions.MemberExpression To be added. Creates a accessing a property. The created . The containing object of the property. This can be null for static properties. The that contains the property. The property to be accessed. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.MemberExpression The property of the resulting is equal to the or properties of the or , respectively, that represents the property or field denoted by . This method searches .Type and its base types for a property or field that has the name . Public properties and fields are given preference over non-public properties and fields. Also, properties are given preference over fields. If a matching property or field is found, this method passes and the or that represents that property or field to or , respectively. Creates a that represents accessing a property or field. A that has the property equal to , the property set to , and the property set to the or that represents the property or field denoted by . An whose contains a property or field named . This can be null for static members. The name of a property or field to be accessed. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting represents the constructed type , where the type argument is the type represented by .Type. The property is null. Both and are false. Creates a that represents an expression that has a constant value of type . A that has the property equal to and the property set to the specified value. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.Expression To be added. 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. The reduced expression. Method 4.0.0.0 System.Linq.Expressions.Expression Unlike Reduce, this method checks that the reduced node satisfies certain invariants. 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. The reduced expression. Method 4.0.0.0 System.Linq.Expressions.Expression To be added. 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. The reduced expression. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a reference equality comparison. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a reference inequality comparison. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents a rethrowing of an exception. A that represents a rethrowing of an exception. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents a rethrowing of an exception with a given type. A that represents a rethrowing of an exception. The new of the expression. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a return statement. A with equal to Return, the property set to , and a null value to be passed to the target label upon jumping. The that the will jump to. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a return statement. The value passed to the label upon jumping can be specified. A with equal to Continue, the property set to , and to be passed to the target label upon jumping. The that the will jump to. The value that will be passed to the associated label upon jumping. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a return statement with the specified type. A with equal to Return, the property set to , the property set to , and a null value to be passed to the target label upon jumping. The that the will jump to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.GotoExpression To be added. Creates a representing a return statement with the specified type. The value passed to the label upon jumping can be specified. A with equal to Continue, the property set to , the property set to , and to be passed to the target label upon jumping. The that the will jump to. The value that will be passed to the associated label upon jumping. An to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If the property of either or represents a user-defined type that overloads the right-shift operator, the that represents that method is the implementing method. Otherwise, if .Type is an integral type (one of , , , , , , , , or the corresponding nullable types) and .Type is , the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined right-shift operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined right-shift operator.
Creates a that represents a bitwise right-shift operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the right-shift operator, the that represents that method is the implementing method. Otherwise, if .Type is an integral type (one of , , , , , , , , or the corresponding nullable types) and .Type is , the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined right-shift operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined right-shift operator.
Creates a that represents a bitwise right-shift operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise right-shift assignment operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise right-shift assignment operation. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a bitwise right-shift assignment operation. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.RuntimeVariablesExpression To be added. Creates an instance of . An instance of that has the property equal to and the property set to the specified value. A collection of objects to use to populate the collection. Method 4.0.0.0 System.Linq.Expressions.RuntimeVariablesExpression System.ParamArray To be added. Creates an instance of . An instance of that has the property equal to and the property set to the specified value. An array of objects to use to populate the collection. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If the property of either or represents a user-defined type that overloads the subtraction operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined subtraction operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined subtraction operator.
Creates a that represents an arithmetic subtraction operation that does not have overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the subtraction operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined subtraction operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined subtraction operator.
Creates a that represents an arithmetic subtraction operation that does not have overflow checking. A that has the property equal to and the , , and properties set to the specified values. A to set the property equal to. A to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a subtraction assignment operation that does not have overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a subtraction assignment operation that does not have overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a subtraction assignment operation that does not have overflow checking. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a subtraction assignment operation that has overflow checking. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. An to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a subtraction assignment operation that has overflow checking. A that has the property equal to and the , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.BinaryExpression To be added. Creates a that represents a subtraction assignment operation that has overflow checking. A that has the property equal to and the , , , and properties set to the specified values. An to set the property equal to. An to set the property equal to. A to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the selected implementing method for the operation: If the property of either or represents a user-defined type that overloads the subtraction operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined subtraction operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined subtraction operator.
Creates a that represents an arithmetic subtraction operation that has overflow checking. A that has the property equal to and the and properties set to the specified values. A to set the property equal to. A to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.BinaryExpression The resulting has the property set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false. The property is null. The following information describes the implementing method, the node type, and whether a node is lifted.

Implementing Method

The following rules determine the implementing method for the operation : If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes two arguments, it is the implementing method for the node. Otherwise, if the property of either or represents a user-defined type that overloads the subtraction operator, the that represents that method is the implementing method. Otherwise, if .Type and .Type are numeric types, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type and .Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type and .Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null: If .Type and .Type are both non-nullable, the node is not lifted. The type of the node is the result type of the predefined subtraction operator. If .Type and .Type are both nullable, the node is lifted. The type of the node is the nullable type that corresponds to the result type of the predefined subtraction operator.
Creates a that represents an arithmetic subtraction operation that has overflow checking. A that has the property equal to and the , , and properties set to the specified values. A to set the property equal to. A to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.SwitchExpression System.ParamArray All objects in a object must have the same type, unless the has the type void. Each object has an implicit break statement, which means that there is no implicit fall through from one case label to another. If does not match any of the cases, no exception is thrown. Creates a that represents a switch statement without a default case. The created . The value to be tested against each case. The set of cases for this switch expression. Method 4.0.0.0 System.Linq.Expressions.SwitchExpression System.ParamArray All objects in a object must have the same type, unless the has the type void. Each object has an implicit break statement, which means that there is no implicit fall through from one case label to another. If does not match any of the cases, the default case represented by is run. Creates a that represents a switch statement that has a default case. The created . The value to be tested against each case. The result of the switch if does not match any of the cases. The set of cases for this switch expression. Method 4.0.0.0 System.Linq.Expressions.SwitchExpression To be added. Creates a that represents a switch statement that has a default case. The created . The value to be tested against each case. The result of the switch if does not match any of the cases. The equality comparison method to use. The set of cases for this switch expression. Method 4.0.0.0 System.Linq.Expressions.SwitchExpression System.ParamArray To be added. Creates a that represents a switch statement that has a default case. The created . The value to be tested against each case. The result of the switch if does not match any of the cases. The equality comparison method to use. The set of cases for this switch expression. Method 4.0.0.0 System.Linq.Expressions.SwitchExpression To be added. Creates a that represents a switch statement that has a default case. The created . The result type of the switch. The value to be tested against each case. The result of the switch if does not match any of the cases. The equality comparison method to use. The set of cases for this switch expression. Method 4.0.0.0 System.Linq.Expressions.SwitchExpression System.ParamArray To be added. Creates a that represents a switch statement that has a default case.. The created . The result type of the switch. The value to be tested against each case. The result of the switch if does not match any of the cases. The equality comparison method to use. The set of cases for this switch expression. Method 4.0.0.0 System.Linq.Expressions.SwitchCase All objects in a object must have the same type, unless the has the type void. Each object has an implicit break statement, which means that there is no implicit fall through from one case label to another. Creates a object to be used in a object. The created . The body of the case. The test values of the case. Method 4.0.0.0 System.Linq.Expressions.SwitchCase System.ParamArray To be added. Creates a for use in a . The created . The body of the case. The test values of the case. Method 4.0.0.0 System.Linq.Expressions.SymbolDocumentInfo To be added. Creates an instance of . A that has the property set to the specified value. A to set the equal to. Method 4.0.0.0 System.Linq.Expressions.SymbolDocumentInfo To be added. Creates an instance of . A that has the and properties set to the specified value. A to set the equal to. A to set the equal to. Method 4.0.0.0 System.Linq.Expressions.SymbolDocumentInfo To be added. Creates an instance of . A that has the and and properties set to the specified value. A to set the equal to. A to set the equal to. A to set the equal to. Method 4.0.0.0 System.Linq.Expressions.SymbolDocumentInfo To be added. Creates an instance of . A that has the and and and properties set to the specified value. A to set the equal to. A to set the equal to. A to set the equal to. A to set the equal to. Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents a throwing of an exception. A that represents the exception. An . Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents a throwing of an exception with a given type. A that represents the exception. An . The new of the expression. Method 3.5.0.0 4.0.0.0 System.String To be added. Returns a textual representation of the . A textual representation of the . Method 4.0.0.0 System.Linq.Expressions.TryExpression System.ParamArray To be added. Creates a representing a try block with any number of catch statements and neither a fault nor finally block. The created . The body of the try block. The array of zero or more expressions representing the catch statements to be associated with the try block. Method 4.0.0.0 System.Linq.Expressions.TryExpression System.ParamArray To be added. Creates a representing a try block with any number of catch statements and a finally block. The created . The body of the try block. The body of the finally block. The array of zero or more expressions representing the catch statements to be associated with the try block. Method 4.0.0.0 System.Linq.Expressions.TryExpression To be added. Creates a representing a try block with a fault block and no catch statements. The created . The body of the try block. The body of the fault block. Method 4.0.0.0 System.Linq.Expressions.TryExpression To be added. Creates a representing a try block with a finally block and no catch statements. The created . The body of the try block. The body of the finally block. Method 4.0.0.0 System.Boolean To be added. To be added. To be added. To be added. To be added. Method 4.0.0.0 System.Boolean To be added. To be added. To be added. To be added. To be added. Property 3.5.0.0 4.0.0.0 System.Type To be added. The is the type of the expression tree node, whereas the represents the static common language runtime (CLR) type of the expression that the node represents. For example, two nodes with different node types can have the same , as shown in the following code example. code reference: System.Linq.Expressions.ExpressionDev10#36 Gets the static type of the expression that this represents. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is null. The and properties are both false. Creates a that represents an explicit reference or boxing conversion where null is supplied if the conversion fails. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to. Method 4.0.0.0 System.Linq.Expressions.TypeBinaryExpression To be added. Creates a that compares run-time type identity. A for which the property is equal to and for which the and properties are set to the specified values. An to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.TypeBinaryExpression The property of the resulting represents . Creates a . A for which the property is equal to and for which the and properties are set to the specified values. An to set the property equal to. A to set the property equal to. Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false.

Implementing Method

The following rules determine the implementing method for the operation: If .Type is a user-defined type that defines the unary plus operator, the that represents that operator is the implementing method. Otherwise, if .Type is a numeric type, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type is a nullable value type and the corresponding non-nullable value type is equal to the argument type of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null, the type of the node is .Type. If .Type is non-nullable, the node is not lifted. Otherwise, the node is lifted.
Creates a that represents a unary plus operation. A that has the property equal to and the property set to the specified value. An to set the property equal to.
Method 3.5.0.0 4.0.0.0 System.Linq.Expressions.UnaryExpression The property of the resulting is set to the implementing method. The property is set to the type of the node. If the node is lifted, the and properties are both true. Otherwise, they are false.

Implementing Method

The following rules determine the implementing method for the operation: If is not null and it represents a non-void, static (Shared in Visual Basic) method that takes one argument, it is the implementing method for the node. If .Type is a user-defined type that defines the unary plus operator, the that represents that operator is the implementing method. Otherwise, if .Type is a numeric type, the implementing method is null.

Node Type and Lifted versus Non-Lifted

If the implementing method is not null: If .Type is assignable to the argument type of the implementing method, the node is not lifted. The type of the node is the return type of the implementing method. If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method: .Type is a nullable value type and the corresponding non-nullable value type is equal to the argument type of the implementing method. The return type of the implementing method is a non-nullable value type. If the implementing method is null, the type of the node is .Type. If .Type is non-nullable, the node is not lifted. Otherwise, the node is lifted.
Creates a that represents a unary plus operation. A that has the property equal to and the and properties set to the specified values. An to set the property equal to. A to set the property equal to.
Method 4.0.0.0 System.Linq.Expressions.UnaryExpression To be added. Creates a that represents an explicit unboxing. An instance of . An to unbox. The new of the expression. Method 4.0.0.0 System.Linq.Expressions.ParameterExpression To be added. Creates a node that can be used to identify a parameter or a variable in an expression tree. A node with the specified name and type The type of the parameter or variable. Method 4.0.0.0 System.Linq.Expressions.ParameterExpression To be added. Creates a node that can be used to identify a parameter or a variable in an expression tree. A node with the specified name and type. The type of the parameter or variable. The name of the parameter or variable. This name is used for debugging or printing purpose only. Method 4.0.0.0 System.Linq.Expressions.Expression Override this method to provide logic to walk the node's children. A typical implementation will call visitor.Visit on each of its children, and if any of them change, should return a new copy of itself with the modified children. Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible. The expression being visited, or an expression which should replace it in the tree. An instance of .