Show / Hide Table of Contents

Class ExpressionSlimFactory

Factory for slim expression trees that uses the default factory methods on ExpressionSlim.

Inheritance
System.Object
ExpressionSlimFactory
Implements
IExpressionSlimFactory
Namespace: System.Linq.Expressions
Assembly: Nuqleon.Linq.Expressions.Bonsai.dll
Syntax
public sealed class ExpressionSlimFactory : Object, IExpressionSlimFactory

Fields

Instance

Gets the singleton instance of the factory.

Declaration
public static readonly IExpressionSlimFactory Instance
Field Value
Type Description
IExpressionSlimFactory

Methods

Add(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an arithmetic addition operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim Add(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Add and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The addition operator is not defined for left.Type and right.Type.

Add(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an arithmetic addition operation that does not have overflow checking. The implementing method can be specified.

Declaration
public BinaryExpressionSlim Add(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Add and the Left, Right and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the addition operator is not defined for left.Type and right.Type.

AddAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an addition assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim AddAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AddAssign and the Left and Right properties set to the specified values.

AddAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an addition assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim AddAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AddAssign and the Left, Right, and Method properties set to the specified values.

AddAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents an addition assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim AddAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AddAssign and the Left, Right, Method, and Conversion properties set to the specified values.

AddAssignChecked(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an addition assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim AddAssignChecked(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AddAssignChecked and the Left and Right properties set to the specified values.

AddAssignChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an addition assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim AddAssignChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AddAssignChecked and the Left, Right, and Method properties set to the specified values.

AddAssignChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents an addition assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim AddAssignChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AddAssignChecked and the Left, Right, Method, and Conversion properties set to the specified values.

AddChecked(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an arithmetic addition operation that has overflow checking.

Declaration
public BinaryExpressionSlim AddChecked(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AddChecked and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The addition operator is not defined for left.Type and right.Type.

AddChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an arithmetic addition operation that has overflow checking. The implementing method can be specified.

Declaration
public BinaryExpressionSlim AddChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AddChecked and the Left, Right and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the addition operator is not defined for left.Type and right.Type.

And(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise langword_csharp_AND operation.

Declaration
public BinaryExpressionSlim And(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.And and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The bitwise langword_csharp_AND operator is not defined for left.Type and right.Type.

And(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise langword_csharp_AND operation. The implementing method can be specified.

Declaration
public BinaryExpressionSlim And(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.And and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the bitwise langword_csharp_AND operator is not defined for left.Type and right.Type.

AndAlso(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a conditional langword_csharp_AND operation that evaluates the second operand only if the first operand evaluates to true.

Declaration
public BinaryExpressionSlim AndAlso(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AndAlso and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The bitwise langword_csharp_AND operator is not defined for left.Type and right.Type.-or- left.Type and right.Type are not the same Boolean type.

AndAlso(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a conditional langword_csharp_AND operation that evaluates the second operand only if the first operand is resolved to true. The implementing method can be specified.

Declaration
public BinaryExpressionSlim AndAlso(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AndAlso and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the bitwise langword_csharp_AND operator is not defined for left.Type and right.Type.-or- method is null and left.Type and right.Type are not the same Boolean type.

AndAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise AND assignment operation.

Declaration
public BinaryExpressionSlim AndAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AndAssign and the Left and Right properties set to the specified values.

AndAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise AND assignment operation.

Declaration
public BinaryExpressionSlim AndAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AndAssign and the Left, Right, and Method properties set to the specified values.

AndAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise AND assignment operation.

Declaration
public BinaryExpressionSlim AndAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.AndAssign and the Left, Right, Method, and Conversion properties set to the specified values.

ArrayAccess(ExpressionSlim, IEnumerable<ExpressionSlim>)

Creates an IndexExpressionSlim to access a multidimensional array.

Declaration
public IndexExpressionSlim ArrayAccess(ExpressionSlim array, IEnumerable<ExpressionSlim> indexes)
Parameters
Type Name Description
ExpressionSlim array

An expression that represents the multidimensional array.

System.Collections.Generic.IEnumerable<ExpressionSlim> indexes

An System.Collections.Generic.IEnumerable<> containing expressions used to index the array.

Returns
Type Description
IndexExpressionSlim

The created IndexExpressionSlim.

ArrayAccess(ExpressionSlim, ExpressionSlim[])

Creates an IndexExpressionSlim to access an array.

Declaration
public IndexExpressionSlim ArrayAccess(ExpressionSlim array, ExpressionSlim[] indexes)
Parameters
Type Name Description
ExpressionSlim array

An expression representing the array to index.

ExpressionSlim[] indexes

An array that contains expressions used to index the array.

Returns
Type Description
IndexExpressionSlim

The created IndexExpressionSlim.

ArrayIndex(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents applying an array index operator to an array of rank one.

Declaration
public BinaryExpressionSlim ArrayIndex(ExpressionSlim array, ExpressionSlim index)
Parameters
Type Name Description
ExpressionSlim array

A ExpressionSlim to set the Left property equal to.

ExpressionSlim index

A ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ArrayIndex and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

array or index is null.

System.ArgumentException

array.Type does not represent an array type.-or- array.Type represents an array type whose rank is not 1.-or- index.Type does not represent the System.Int32 type.

ArrayLength(ExpressionSlim)

Creates a UnaryExpressionSlim that represents an expression for obtaining the length of a one-dimensional array.

Declaration
public UnaryExpressionSlim ArrayLength(ExpressionSlim array)
Parameters
Type Name Description
ExpressionSlim array

An ExpressionSlim to set the Operand property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ArrayLength and the Operand property equal to array.

Exceptions
Type Condition
System.ArgumentNullException

array is null.

System.ArgumentException

array.Type does not represent an array type.

Assign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an assignment operation.

Declaration
public BinaryExpressionSlim Assign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Assign and the Left and Right properties set to the specified values.

Bind(MemberInfoSlim, ExpressionSlim)

Creates a MemberAssignmentSlim that represents the initialization of a field or property.

Declaration
public MemberAssignmentSlim Bind(MemberInfoSlim member, ExpressionSlim expression)
Parameters
Type Name Description
MemberInfoSlim member

A MemberInfoSlim to set the Member property equal to.

ExpressionSlim expression

An ExpressionSlim to set the Expression property equal to.

Returns
Type Description
MemberAssignmentSlim

A MemberAssignmentSlim that has BindingType equal to System.Linq.Expressions.MemberBindingType.Assignment and the Member and Expression properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

member or expression is null.

System.ArgumentException

member does not represent a field or property.-or-The property represented by member does not have a langword_csharp_set accessor.-or- expression.Type is not assignable to the type of the field or property that member represents.

Block(IEnumerable<ExpressionSlim>)

Creates a BlockExpressionSlim that contains the given expressions and has no variables.

Declaration
public BlockExpressionSlim Block(IEnumerable<ExpressionSlim> expressions)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ExpressionSlim> expressions

The expressions in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(IEnumerable<ParameterExpressionSlim>, IEnumerable<ExpressionSlim>)

Creates a BlockExpressionSlim that contains the given variables and expressions.

Declaration
public BlockExpressionSlim Block(IEnumerable<ParameterExpressionSlim> variables, IEnumerable<ExpressionSlim> expressions)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ParameterExpressionSlim> variables

The variables in the block.

System.Collections.Generic.IEnumerable<ExpressionSlim> expressions

The expressions in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(IEnumerable<ParameterExpressionSlim>, ExpressionSlim[])

Creates a BlockExpressionSlim that contains the given variables and expressions.

Declaration
public BlockExpressionSlim Block(IEnumerable<ParameterExpressionSlim> variables, ExpressionSlim[] expressions)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ParameterExpressionSlim> variables

The variables in the block.

ExpressionSlim[] expressions

The expressions in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(ExpressionSlim, ExpressionSlim)

Creates a BlockExpressionSlim that contains two expressions and has no variables.

Declaration
public BlockExpressionSlim Block(ExpressionSlim arg0, ExpressionSlim arg1)
Parameters
Type Name Description
ExpressionSlim arg0

The first expression in the block.

ExpressionSlim arg1

The second expression in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a BlockExpressionSlim that contains three expressions and has no variables.

Declaration
public BlockExpressionSlim Block(ExpressionSlim arg0, ExpressionSlim arg1, ExpressionSlim arg2)
Parameters
Type Name Description
ExpressionSlim arg0

The first expression in the block.

ExpressionSlim arg1

The second expression in the block.

ExpressionSlim arg2

The third expression in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(ExpressionSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a BlockExpressionSlim that contains four expressions and has no variables.

Declaration
public BlockExpressionSlim Block(ExpressionSlim arg0, ExpressionSlim arg1, ExpressionSlim arg2, ExpressionSlim arg3)
Parameters
Type Name Description
ExpressionSlim arg0

The first expression in the block.

ExpressionSlim arg1

The second expression in the block.

ExpressionSlim arg2

The third expression in the block.

ExpressionSlim arg3

The fourth expression in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(ExpressionSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a BlockExpressionSlim that contains five expressions and has no variables.

Declaration
public BlockExpressionSlim Block(ExpressionSlim arg0, ExpressionSlim arg1, ExpressionSlim arg2, ExpressionSlim arg3, ExpressionSlim arg4)
Parameters
Type Name Description
ExpressionSlim arg0

The first expression in the block.

ExpressionSlim arg1

The second expression in the block.

ExpressionSlim arg2

The third expression in the block.

ExpressionSlim arg3

The fourth expression in the block.

ExpressionSlim arg4

The fifth expression in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(ExpressionSlim[])

Creates a BlockExpressionSlim that contains the given expressions and has no variables.

Declaration
public BlockExpressionSlim Block(ExpressionSlim[] expressions)
Parameters
Type Name Description
ExpressionSlim[] expressions

The expressions in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(TypeSlim, IEnumerable<ExpressionSlim>)

Creates a BlockExpressionSlim that contains the given expressions, has no variables and has specific result type.

Declaration
public BlockExpressionSlim Block(TypeSlim type, IEnumerable<ExpressionSlim> expressions)
Parameters
Type Name Description
TypeSlim type

The result type of the block.

System.Collections.Generic.IEnumerable<ExpressionSlim> expressions

The expressions in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(TypeSlim, IEnumerable<ParameterExpressionSlim>, IEnumerable<ExpressionSlim>)

Creates a BlockExpressionSlim that contains the given variables and expressions.

Declaration
public BlockExpressionSlim Block(TypeSlim type, IEnumerable<ParameterExpressionSlim> variables, IEnumerable<ExpressionSlim> expressions)
Parameters
Type Name Description
TypeSlim type

The result type of the block.

System.Collections.Generic.IEnumerable<ParameterExpressionSlim> variables

The variables in the block.

System.Collections.Generic.IEnumerable<ExpressionSlim> expressions

The expressions in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(TypeSlim, IEnumerable<ParameterExpressionSlim>, ExpressionSlim[])

Creates a BlockExpressionSlim that contains the given variables and expressions.

Declaration
public BlockExpressionSlim Block(TypeSlim type, IEnumerable<ParameterExpressionSlim> variables, ExpressionSlim[] expressions)
Parameters
Type Name Description
TypeSlim type

The result type of the block.

System.Collections.Generic.IEnumerable<ParameterExpressionSlim> variables

The variables in the block.

ExpressionSlim[] expressions

The expressions in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Block(TypeSlim, ExpressionSlim[])

Creates a BlockExpressionSlim that contains the given expressions, has no variables and has specific result type.

Declaration
public BlockExpressionSlim Block(TypeSlim type, ExpressionSlim[] expressions)
Parameters
Type Name Description
TypeSlim type

The result type of the block.

ExpressionSlim[] expressions

The expressions in the block.

Returns
Type Description
BlockExpressionSlim

The created BlockExpressionSlim.

Break(LabelTargetSlim)

Creates a GotoExpressionSlim representing a break statement.

Declaration
public GotoExpressionSlim Break(LabelTargetSlim target)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Break, the Target property set to target, and a null value to be passed to the target label upon jumping.

Break(LabelTargetSlim, ExpressionSlim)

Creates a GotoExpressionSlim representing a break statement. The value passed to the label upon jumping can be specified.

Declaration
public GotoExpressionSlim Break(LabelTargetSlim target, ExpressionSlim value)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

ExpressionSlim value

The value that will be passed to the associated label upon jumping.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Break, the Target property set to target, and value to be passed to the target label upon jumping.

Break(LabelTargetSlim, ExpressionSlim, TypeSlim)

Creates a GotoExpressionSlim representing a break statement with the specified type. The value passed to the label upon jumping can be specified.

Declaration
public GotoExpressionSlim Break(LabelTargetSlim target, ExpressionSlim value, TypeSlim type)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

ExpressionSlim value

The value that will be passed to the associated label upon jumping.

TypeSlim type

An TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Break, the Target property set to target, the System.Linq.Expressions.ExpressionSlim.Type property set to type, and value to be passed to the target label upon jumping.

Break(LabelTargetSlim, TypeSlim)

Creates a GotoExpressionSlim representing a break statement with the specified type.

Declaration
public GotoExpressionSlim Break(LabelTargetSlim target, TypeSlim type)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

TypeSlim type

An TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Break, the Target property set to target, and the System.Linq.Expressions.ExpressionSlim.Type property set to type.

Call(ExpressionSlim, MethodInfoSlim)

Creates a MethodCallExpressionSlim that represents a call to a method that takes no arguments.

Declaration
public MethodCallExpressionSlim Call(ExpressionSlim instance, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim instance

An ExpressionSlim that specifies the instance for an instance method call (pass null for a static (langword_csharp_Shared in Visual Basic) method).

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.-or- instance is null and method represents an instance method.

System.ArgumentException

instance.Type is not assignable to the declaring type of the method represented by method.

Call(ExpressionSlim, MethodInfoSlim, IEnumerable<ExpressionSlim>)

Creates a MethodCallExpressionSlim that represents a call to a method that takes arguments.

Declaration
public MethodCallExpressionSlim Call(ExpressionSlim instance, MethodInfoSlim method, IEnumerable<ExpressionSlim> arguments)
Parameters
Type Name Description
ExpressionSlim instance

An ExpressionSlim to set the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim property equal to (pass null for a static (langword_csharp_Shared in Visual Basic) method).

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects to use to populate the Arguments collection.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim, Method, and Arguments properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.-or- instance is null and method represents an instance method.

System.ArgumentException

instance.Type is not assignable to the declaring type of the method represented by method.-or-The number of elements in arguments does not equal the number of parameters for the method represented by method.-or-One or more of the elements of arguments is not assignable to the corresponding parameter for the method represented by method.

Call(ExpressionSlim, MethodInfoSlim, ExpressionSlim, ExpressionSlim)

Creates a MethodCallExpressionSlim that represents a call to a method that takes two arguments.

Declaration
public MethodCallExpressionSlim Call(ExpressionSlim instance, MethodInfoSlim method, ExpressionSlim arg0, ExpressionSlim arg1)
Parameters
Type Name Description
ExpressionSlim instance

An ExpressionSlim that specifies the instance for an instance call. (pass null for a static (Shared in Visual Basic) method).

MethodInfoSlim method

The MethodInfoSlim that represents the target method.

ExpressionSlim arg0

The ExpressionSlim that represents the first argument.

ExpressionSlim arg1

The ExpressionSlim that represents the second argument.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Call(ExpressionSlim, MethodInfoSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a MethodCallExpressionSlim that represents a call to a method that takes three arguments.

Declaration
public MethodCallExpressionSlim Call(ExpressionSlim instance, MethodInfoSlim method, ExpressionSlim arg0, ExpressionSlim arg1, ExpressionSlim arg2)
Parameters
Type Name Description
ExpressionSlim instance

An ExpressionSlim that specifies the instance for an instance call. (pass null for a static (Shared in Visual Basic) method).

MethodInfoSlim method

The MethodInfoSlim that represents the target method.

ExpressionSlim arg0

The ExpressionSlim that represents the first argument.

ExpressionSlim arg1

The ExpressionSlim that represents the second argument.

ExpressionSlim arg2

The ExpressionSlim that represents the third argument.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Call(ExpressionSlim, MethodInfoSlim, ExpressionSlim[])

Creates a MethodCallExpressionSlim that represents a call to a method that takes arguments.

Declaration
public MethodCallExpressionSlim Call(ExpressionSlim instance, MethodInfoSlim method, ExpressionSlim[] arguments)
Parameters
Type Name Description
ExpressionSlim instance

An ExpressionSlim that specifies the instance for an instance method call (pass null for a static (langword_csharp_Shared in Visual Basic) method).

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

ExpressionSlim[] arguments

An array of ExpressionSlim objects to use to populate the Arguments collection.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim, Method, and Arguments properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.-or- instance is null and method represents an instance method.-or- arguments is not null and one or more of its elements is null.

System.ArgumentException

instance.Type is not assignable to the declaring type of the method represented by method.-or-The number of elements in arguments does not equal the number of parameters for the method represented by method.-or-One or more of the elements of arguments is not assignable to the corresponding parameter for the method represented by method.

Call(MethodInfoSlim, IEnumerable<ExpressionSlim>)

Creates a MethodCallExpressionSlim that represents a call to a static (Shared in Visual Basic) method.

Declaration
public MethodCallExpressionSlim Call(MethodInfoSlim method, IEnumerable<ExpressionSlim> arguments)
Parameters
Type Name Description
MethodInfoSlim method

The MethodInfoSlim that represents the target method.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

A collection of ExpressionSlim that represents the call arguments.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Call(MethodInfoSlim, ExpressionSlim)

Creates a MethodCallExpressionSlim that represents a call to a static (langword_csharp_Shared in Visual Basic) method that takes one argument.

Declaration
public MethodCallExpressionSlim Call(MethodInfoSlim method, ExpressionSlim arg0)
Parameters
Type Name Description
MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

ExpressionSlim arg0

The ExpressionSlim that represents the first argument.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.

Call(MethodInfoSlim, ExpressionSlim, ExpressionSlim)

Creates a MethodCallExpressionSlim that represents a call to a static method that takes two arguments.

Declaration
public MethodCallExpressionSlim Call(MethodInfoSlim method, ExpressionSlim arg0, ExpressionSlim arg1)
Parameters
Type Name Description
MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

ExpressionSlim arg0

The ExpressionSlim that represents the first argument.

ExpressionSlim arg1

The ExpressionSlim that represents the second argument.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.

Call(MethodInfoSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a MethodCallExpressionSlim that represents a call to a static method that takes three arguments.

Declaration
public MethodCallExpressionSlim Call(MethodInfoSlim method, ExpressionSlim arg0, ExpressionSlim arg1, ExpressionSlim arg2)
Parameters
Type Name Description
MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

ExpressionSlim arg0

The ExpressionSlim that represents the first argument.

ExpressionSlim arg1

The ExpressionSlim that represents the second argument.

ExpressionSlim arg2

The ExpressionSlim that represents the third argument.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.

Call(MethodInfoSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a MethodCallExpressionSlim that represents a call to a static method that takes four arguments.

Declaration
public MethodCallExpressionSlim Call(MethodInfoSlim method, ExpressionSlim arg0, ExpressionSlim arg1, ExpressionSlim arg2, ExpressionSlim arg3)
Parameters
Type Name Description
MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

ExpressionSlim arg0

The ExpressionSlim that represents the first argument.

ExpressionSlim arg1

The ExpressionSlim that represents the second argument.

ExpressionSlim arg2

The ExpressionSlim that represents the third argument.

ExpressionSlim arg3

The ExpressionSlim that represents the fourth argument.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.

Call(MethodInfoSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a MethodCallExpressionSlim that represents a call to a static method that takes five arguments.

Declaration
public MethodCallExpressionSlim Call(MethodInfoSlim method, ExpressionSlim arg0, ExpressionSlim arg1, ExpressionSlim arg2, ExpressionSlim arg3, ExpressionSlim arg4)
Parameters
Type Name Description
MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

ExpressionSlim arg0

The ExpressionSlim that represents the first argument.

ExpressionSlim arg1

The ExpressionSlim that represents the second argument.

ExpressionSlim arg2

The ExpressionSlim that represents the third argument.

ExpressionSlim arg3

The ExpressionSlim that represents the fourth argument.

ExpressionSlim arg4

The ExpressionSlim that represents the fifth argument.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the System.Linq.Expressions.MethodCallExpressionSlim.ObjectSlim and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.

Call(MethodInfoSlim, ExpressionSlim[])

Creates a MethodCallExpressionSlim that represents a call to a static (langword_csharp_Shared in Visual Basic) method that has arguments.

Declaration
public MethodCallExpressionSlim Call(MethodInfoSlim method, ExpressionSlim[] arguments)
Parameters
Type Name Description
MethodInfoSlim method

A MethodInfoSlim that represents a static (langword_csharp_Shared in Visual Basic) method to set the Method property equal to.

ExpressionSlim[] arguments

An array of ExpressionSlim objects to use to populate the Arguments collection.

Returns
Type Description
MethodCallExpressionSlim

A MethodCallExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Call and the Method and Arguments properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

method is null.

System.ArgumentException

The number of elements in arguments does not equal the number of parameters for the method represented by method.-or-One or more of the elements of arguments is not assignable to the corresponding parameter for the method represented by method.

Catch(ParameterExpressionSlim, ExpressionSlim)

Creates a CatchBlockSlim representing a catch statement with a reference to the caught System.Exception object for use in the handler body.

Declaration
public CatchBlockSlim Catch(ParameterExpressionSlim variable, ExpressionSlim body)
Parameters
Type Name Description
ParameterExpressionSlim variable

A ParameterExpressionSlim representing a reference to the System.Exception object caught by this handler.

ExpressionSlim body

The body of the catch statement.

Returns
Type Description
CatchBlockSlim

The created CatchBlockSlim.

Catch(ParameterExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a CatchBlockSlim representing a catch statement with an System.Exception filter and a reference to the caught System.Exception object.

Declaration
public CatchBlockSlim Catch(ParameterExpressionSlim variable, ExpressionSlim body, ExpressionSlim filter)
Parameters
Type Name Description
ParameterExpressionSlim variable

A ParameterExpressionSlim representing a reference to the System.Exception object caught by this handler.

ExpressionSlim body

The body of the catch statement.

ExpressionSlim filter

The body of the System.Exception filter.

Returns
Type Description
CatchBlockSlim

The created CatchBlockSlim.

Catch(TypeSlim, ExpressionSlim)

Creates a CatchBlockSlim representing a catch statement.

Declaration
public CatchBlockSlim Catch(TypeSlim type, ExpressionSlim body)
Parameters
Type Name Description
TypeSlim type

The System.Linq.Expressions.ExpressionSlim.Type of System.Exception this CatchBlockSlim will handle.

ExpressionSlim body

The body of the catch statement.

Returns
Type Description
CatchBlockSlim

The created CatchBlockSlim.

Catch(TypeSlim, ExpressionSlim, ExpressionSlim)

Creates a CatchBlockSlim representing a catch statement with an System.Exception filter but no reference to the caught System.Exception object.

Declaration
public CatchBlockSlim Catch(TypeSlim type, ExpressionSlim body, ExpressionSlim filter)
Parameters
Type Name Description
TypeSlim type

The System.Linq.Expressions.ExpressionSlim.Type of System.Exception this CatchBlockSlim will handle.

ExpressionSlim body

The body of the catch statement.

ExpressionSlim filter

The body of the System.Exception filter.

Returns
Type Description
CatchBlockSlim

The created CatchBlockSlim.

Coalesce(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a coalescing operation.

Declaration
public BinaryExpressionSlim Coalesce(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Coalesce and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The System.Linq.Expressions.ExpressionSlim.Type property of left does not represent a reference type or a nullable value type.

System.ArgumentException

left.Type and right.Type are not convertible to each other.

Coalesce(ExpressionSlim, ExpressionSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a coalescing operation, given a conversion function.

Declaration
public BinaryExpressionSlim Coalesce(ExpressionSlim left, ExpressionSlim right, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Coalesce and the Left, Right and Conversion properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

left.Type and right.Type are not convertible to each other.-or- conversion is not null and conversion.Type is a delegate type that does not take exactly one argument.

System.InvalidOperationException

The System.Linq.Expressions.ExpressionSlim.Type property of left does not represent a reference type or a nullable value type.-or-The System.Linq.Expressions.ExpressionSlim.Type property of left represents a type that is not assignable to the parameter type of the delegate type conversion.Type.-or-The System.Linq.Expressions.ExpressionSlim.Type property of right is not equal to the return type of the delegate type conversion.Type.

Condition(ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a ConditionalExpressionSlim that represents a conditional statement.

Declaration
public ConditionalExpressionSlim Condition(ExpressionSlim test, ExpressionSlim ifTrue, ExpressionSlim ifFalse)
Parameters
Type Name Description
ExpressionSlim test

An ExpressionSlim to set the Test property equal to.

ExpressionSlim ifTrue

An ExpressionSlim to set the IfTrue property equal to.

ExpressionSlim ifFalse

An ExpressionSlim to set the IfFalse property equal to.

Returns
Type Description
ConditionalExpressionSlim

A ConditionalExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Conditional and the Test, IfTrue, and IfFalse properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

test or ifTrue or ifFalse is null.

System.ArgumentException

test.Type is not System.Boolean.-or- ifTrue.Type is not equal to ifFalse.Type.

Condition(ExpressionSlim, ExpressionSlim, ExpressionSlim, TypeSlim)

Creates a ConditionalExpressionSlim that represents a conditional statement.

Declaration
public ConditionalExpressionSlim Condition(ExpressionSlim test, ExpressionSlim ifTrue, ExpressionSlim ifFalse, TypeSlim type)
Parameters
Type Name Description
ExpressionSlim test

An ExpressionSlim to set the Test property equal to.

ExpressionSlim ifTrue

An ExpressionSlim to set the IfTrue property equal to.

ExpressionSlim ifFalse

An ExpressionSlim to set the IfFalse property equal to.

TypeSlim type

A System.Linq.Expressions.ExpressionSlim.Type to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
ConditionalExpressionSlim

A ConditionalExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Conditional and the Test, IfTrue, and IfFalse properties set to the specified values.

Constant(ObjectSlim)

Creates a ConstantExpressionSlim that has the Value property set to the specified value.

Declaration
public ConstantExpressionSlim Constant(ObjectSlim value)
Parameters
Type Name Description
System.ObjectSlim value

An System.ObjectSlim to set the Value property equal to.

Returns
Type Description
ConstantExpressionSlim

A ConstantExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Constant and the Value property set to the specified value.

Constant(ObjectSlim, TypeSlim)

Creates a ConstantExpressionSlim that has the Value and System.Linq.Expressions.ExpressionSlim.Type properties set to the specified values.

Declaration
public ConstantExpressionSlim Constant(ObjectSlim value, TypeSlim type)
Parameters
Type Name Description
System.ObjectSlim value

An System.ObjectSlim to set the Value property equal to.

TypeSlim type

A TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
ConstantExpressionSlim

A ConstantExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Constant and the Value and System.Linq.Expressions.ExpressionSlim.Type properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

type is null.

System.ArgumentException

value is not null and type is not assignable from the dynamic type of value.

Continue(LabelTargetSlim)

Creates a GotoExpressionSlim representing a continue statement.

Declaration
public GotoExpressionSlim Continue(LabelTargetSlim target)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Continue, the Target property set to target, and a null value to be passed to the target label upon jumping.

Continue(LabelTargetSlim, TypeSlim)

Creates a GotoExpressionSlim representing a continue statement with the specified type.

Declaration
public GotoExpressionSlim Continue(LabelTargetSlim target, TypeSlim type)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

TypeSlim type

An TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Continue, the Target property set to target, the System.Linq.Expressions.ExpressionSlim.Type property set to type, and a null value to be passed to the target label upon jumping.

Convert(ExpressionSlim, TypeSlim)

Creates a UnaryExpressionSlim that represents a type conversion operation.

Declaration
public UnaryExpressionSlim Convert(ExpressionSlim expression, TypeSlim type)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

TypeSlim type

A TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Convert and the Operand and System.Linq.Expressions.ExpressionSlim.Type properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression or type is null.

System.InvalidOperationException

No conversion operator is defined between expression.Type and type.

Convert(ExpressionSlim, TypeSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents a conversion operation for which the implementing method is specified.

Declaration
public UnaryExpressionSlim Convert(ExpressionSlim expression, TypeSlim type, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

TypeSlim type

A TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Convert and the Operand, System.Linq.Expressions.ExpressionSlim.Type, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression or type is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly one argument.

System.InvalidOperationException

No conversion operator is defined between expression.Type and type.-or- expression.Type is not assignable to the argument type of the method represented by method.-or-The return type of the method represented by method is not assignable to type.-or- expression.Type or type is a nullable value type and the corresponding non-nullable value type does not equal the argument type or the return type, respectively, of the method represented by method.

System.Reflection.AmbiguousMatchException

More than one method that matches the method description was found.

ConvertChecked(ExpressionSlim, TypeSlim)

Creates a UnaryExpressionSlim that represents a conversion operation that throws an exception if the target type is overflowed.

Declaration
public UnaryExpressionSlim ConvertChecked(ExpressionSlim expression, TypeSlim type)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

TypeSlim type

A TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ConvertChecked and the Operand and System.Linq.Expressions.ExpressionSlim.Type properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression or type is null.

System.InvalidOperationException

No conversion operator is defined between expression.Type and type.

ConvertChecked(ExpressionSlim, TypeSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents a conversion operation that throws an exception if the target type is overflowed and for which the implementing method is specified.

Declaration
public UnaryExpressionSlim ConvertChecked(ExpressionSlim expression, TypeSlim type, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

TypeSlim type

A TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ConvertChecked and the Operand, System.Linq.Expressions.ExpressionSlim.Type, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression or type is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly one argument.

System.InvalidOperationException

No conversion operator is defined between expression.Type and type.-or- expression.Type is not assignable to the argument type of the method represented by method.-or-The return type of the method represented by method is not assignable to type.-or- expression.Type or type is a nullable value type and the corresponding non-nullable value type does not equal the argument type or the return type, respectively, of the method represented by method.

System.Reflection.AmbiguousMatchException

More than one method that matches the method description was found.

Decrement(ExpressionSlim)

Creates a UnaryExpressionSlim that represents the decrementing of the expression by 1.

Declaration
public UnaryExpressionSlim Decrement(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to decrement.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the decremented expression.

Decrement(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents the decrementing of the expression by 1.

Declaration
public UnaryExpressionSlim Decrement(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to decrement.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the decremented expression.

Default(TypeSlim)

Creates a DefaultExpressionSlim that has the System.Linq.Expressions.ExpressionSlim.Type property set to the specified type.

Declaration
public DefaultExpressionSlim Default(TypeSlim type)
Parameters
Type Name Description
TypeSlim type

A TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
DefaultExpressionSlim

A DefaultExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Default and the System.Linq.Expressions.ExpressionSlim.Type property set to the specified type.

Divide(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an arithmetic division operation.

Declaration
public BinaryExpressionSlim Divide(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property to.

ExpressionSlim right

An ExpressionSlim to set the Right property to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Divide and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The division operator is not defined for left.Type and right.Type.

Divide(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an arithmetic division operation. The implementing method can be specified.

Declaration
public BinaryExpressionSlim Divide(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Divide and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the division operator is not defined for left.Type and right.Type.

DivideAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a division assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim DivideAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.DivideAssign and the Left and Right properties set to the specified values.

DivideAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a division assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim DivideAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.DivideAssign and the Left, Right, and Method properties set to the specified values.

DivideAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a division assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim DivideAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.DivideAssign and the Left, Right, Method, and Conversion properties set to the specified values.

ElementInit(MethodInfoSlim, IEnumerable<ExpressionSlim>)

Creates an ElementInitSlim, given an System.Collections.Generic.IEnumerable<> as the second argument.

Declaration
public ElementInitSlim ElementInit(MethodInfoSlim addMethod, IEnumerable<ExpressionSlim> arguments)
Parameters
Type Name Description
MethodInfoSlim addMethod

A MethodInfoSlim to set the AddMethod property equal to.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects to set the Arguments property equal to.

Returns
Type Description
ElementInitSlim

An ElementInitSlim that has the AddMethod and Arguments properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

addMethod or arguments is null.

System.ArgumentException

The method that addMethod represents is not named "Add" (case insensitive).-or-The method that addMethod represents is not an instance method.-or- arguments does not contain the same number of elements as the number of parameters for the method that addMethod represents.-or-The System.Linq.Expressions.ExpressionSlim.Type property of one or more elements of arguments is not assignable to the type of the corresponding parameter of the method that addMethod represents.

ElementInit(MethodInfoSlim, ExpressionSlim[])

Creates an ElementInitSlim, given an array of values as the second argument.

Declaration
public ElementInitSlim ElementInit(MethodInfoSlim addMethod, ExpressionSlim[] arguments)
Parameters
Type Name Description
MethodInfoSlim addMethod

A MethodInfoSlim to set the AddMethod property equal to.

ExpressionSlim[] arguments

An array of ExpressionSlim objects to set the Arguments property equal to.

Returns
Type Description
ElementInitSlim

An ElementInitSlim that has the AddMethod and Arguments properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

addMethod or arguments is null.

System.ArgumentException

The method that addMethod represents is not named "Add" (case insensitive).-or-The method that addMethod represents is not an instance method.-or-arguments does not contain the same number of elements as the number of parameters for the method that addMethod represents.-or-The System.Linq.Expressions.ExpressionSlim.Type property of one or more elements of arguments is not assignable to the type of the corresponding parameter of the method that addMethod represents.

Empty()

Creates an empty expression that has System.Void type.

Declaration
public DefaultExpressionSlim Empty()
Returns
Type Description
DefaultExpressionSlim

A DefaultExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Default and the System.Linq.Expressions.ExpressionSlim.Type property set to System.Void.

Equal(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an equality comparison.

Declaration
public BinaryExpressionSlim Equal(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Equal and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The equality operator is not defined for left.Type and right.Type.

Equal(ExpressionSlim, ExpressionSlim, Boolean, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an equality comparison. The implementing method can be specified.

Declaration
public BinaryExpressionSlim Equal(ExpressionSlim left, ExpressionSlim right, bool liftToNull, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

System.Boolean liftToNull

true to set IsLiftedToNull to true; false to set IsLiftedToNull to false.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Equal and the Left, Right, IsLiftedToNull, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the equality operator is not defined for left.Type and right.Type.

ExclusiveOr(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise langword_csharp_XOR operation, using op_ExclusiveOr for user-defined types.

Declaration
public BinaryExpressionSlim ExclusiveOr(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ExclusiveOr and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The langword_csharp_XOR operator is not defined for left.Type and right.Type.

ExclusiveOr(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise langword_csharp_XOR operation, using op_ExclusiveOr for user-defined types. The implementing method can be specified.

Declaration
public BinaryExpressionSlim ExclusiveOr(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ExclusiveOr and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the langword_csharp_XOR operator is not defined for left.Type and right.Type.

ExclusiveOrAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.

Declaration
public BinaryExpressionSlim ExclusiveOrAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ExclusiveOrAssign and the Left and Right properties set to the specified values.

ExclusiveOrAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.

Declaration
public BinaryExpressionSlim ExclusiveOrAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ExclusiveOrAssign and the Left, Right, and Method properties set to the specified values.

ExclusiveOrAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.

Declaration
public BinaryExpressionSlim ExclusiveOrAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ExclusiveOrAssign and the Left, Right, Method, and Conversion properties set to the specified values.

Field(ExpressionSlim, FieldInfoSlim)

Creates a MemberExpressionSlim that represents accessing a field.

Declaration
public MemberExpressionSlim Field(ExpressionSlim expression, FieldInfoSlim field)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Expression property equal to. For static (langword_csharp_Shared in Visual Basic), expression must be null.

FieldInfoSlim field

The FieldInfoSlim to set the Member property equal to.

Returns
Type Description
MemberExpressionSlim

A MemberExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MemberAccess and the Expression and Member properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

field is null.-or-The field represented by field is not static (langword_csharp_Shared in Visual Basic) and expression is null.

System.ArgumentException

expression.Type is not assignable to the declaring type of the field represented by field.

Goto(LabelTargetSlim)

Creates a GotoExpressionSlim representing a "go to" statement.

Declaration
public GotoExpressionSlim Goto(LabelTargetSlim target)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Goto, the Target property set to the specified value, and a null value to be passed to the target label upon jumping.

Goto(LabelTargetSlim, ExpressionSlim)

Creates a GotoExpressionSlim representing a "go to" statement. The value passed to the label upon jumping can be specified.

Declaration
public GotoExpressionSlim Goto(LabelTargetSlim target, ExpressionSlim value)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

ExpressionSlim value

The value that will be passed to the associated label upon jumping.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Goto, the Target property set to target, and value to be passed to the target label upon jumping.

Goto(LabelTargetSlim, ExpressionSlim, TypeSlim)

Creates a GotoExpressionSlim representing a "go to" statement with the specified type. The value passed to the label upon jumping can be specified.

Declaration
public GotoExpressionSlim Goto(LabelTargetSlim target, ExpressionSlim value, TypeSlim type)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

ExpressionSlim value

The value that will be passed to the associated label upon jumping.

TypeSlim type

An TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Goto, the Target property set to target, the System.Linq.Expressions.ExpressionSlim.Type property set to type, and value to be passed to the target label upon jumping.

Goto(LabelTargetSlim, TypeSlim)

Creates a GotoExpressionSlim representing a "go to" statement with the specified type.

Declaration
public GotoExpressionSlim Goto(LabelTargetSlim target, TypeSlim type)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

TypeSlim type

An TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Goto, the Target property set to the specified value, the System.Linq.Expressions.ExpressionSlim.Type property set to type, and a null value to be passed to the target label upon jumping.

GreaterThan(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a "greater than" numeric comparison.

Declaration
public BinaryExpressionSlim GreaterThan(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.GreaterThan and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The "greater than" operator is not defined for left.Type and right.Type.

GreaterThan(ExpressionSlim, ExpressionSlim, Boolean, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a "greater than" numeric comparison. The implementing method can be specified.

Declaration
public BinaryExpressionSlim GreaterThan(ExpressionSlim left, ExpressionSlim right, bool liftToNull, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

System.Boolean liftToNull

true to set IsLiftedToNull to true; false to set IsLiftedToNull to false.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.GreaterThan and the Left, Right, IsLiftedToNull, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the "greater than" operator is not defined for left.Type and right.Type.

GreaterThanOrEqual(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a "greater than or equal" numeric comparison.

Declaration
public BinaryExpressionSlim GreaterThanOrEqual(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.GreaterThanOrEqual and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The "greater than or equal" operator is not defined for left.Type and right.Type.

GreaterThanOrEqual(ExpressionSlim, ExpressionSlim, Boolean, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a "greater than or equal" numeric comparison.

Declaration
public BinaryExpressionSlim GreaterThanOrEqual(ExpressionSlim left, ExpressionSlim right, bool liftToNull, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

System.Boolean liftToNull

true to set IsLiftedToNull to true; false to set IsLiftedToNull to false.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.GreaterThanOrEqual and the Left, Right, IsLiftedToNull, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the "greater than or equal" operator is not defined for left.Type and right.Type.

IfThen(ExpressionSlim, ExpressionSlim)

Creates a ConditionalExpressionSlim that represents a conditional block with an langword_csharp_if statement.

Declaration
public ConditionalExpressionSlim IfThen(ExpressionSlim test, ExpressionSlim ifTrue)
Parameters
Type Name Description
ExpressionSlim test

An ExpressionSlim to set the Test property equal to.

ExpressionSlim ifTrue

An ExpressionSlim to set the IfTrue property equal to.

Returns
Type Description
ConditionalExpressionSlim

A ConditionalExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Conditional and the Test, IfTrue, properties set to the specified values. The IfFalse property is set to default expression and the type of the resulting ConditionalExpressionSlim returned by this method is System.Void.

IfThenElse(ExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a ConditionalExpressionSlim that represents a conditional block with langword_csharp_if and langword_csharp_else statements.

Declaration
public ConditionalExpressionSlim IfThenElse(ExpressionSlim test, ExpressionSlim ifTrue, ExpressionSlim ifFalse)
Parameters
Type Name Description
ExpressionSlim test

An ExpressionSlim to set the Test property equal to.

ExpressionSlim ifTrue

An ExpressionSlim to set the IfTrue property equal to.

ExpressionSlim ifFalse

An ExpressionSlim to set the IfFalse property equal to.

Returns
Type Description
ConditionalExpressionSlim

A ConditionalExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Conditional and the Test, IfTrue, and IfFalse properties set to the specified values. The type of the resulting ConditionalExpressionSlim returned by this method is System.Void.

Increment(ExpressionSlim)

Creates a UnaryExpressionSlim that represents the incrementing of the expression value by 1.

Declaration
public UnaryExpressionSlim Increment(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to increment.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the incremented expression.

Increment(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents the incrementing of the expression by 1.

Declaration
public UnaryExpressionSlim Increment(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to increment.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the incremented expression.

Invoke(ExpressionSlim, IEnumerable<ExpressionSlim>)

Creates an InvocationExpressionSlim that applies a delegate or lambda expression to a list of argument expressions.

Declaration
public InvocationExpressionSlim Invoke(ExpressionSlim expression, IEnumerable<ExpressionSlim> arguments)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim that represents the delegate or lambda expression to be applied to.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects that represent the arguments that the delegate or lambda expression is applied to.

Returns
Type Description
InvocationExpressionSlim

An InvocationExpressionSlim that applies the specified delegate or lambda expression to the provided arguments.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.ArgumentException

expression.Type does not represent a delegate type or an System.Linq.Expressions.Expression<>.-or-The System.Linq.Expressions.ExpressionSlim.Type property of an element of arguments is not assignable to the type of the corresponding parameter of the delegate represented by expression.

System.InvalidOperationException

arguments does not contain the same number of elements as the list of parameters for the delegate represented by expression.

Invoke(ExpressionSlim, ExpressionSlim[])

Creates an InvocationExpressionSlim that applies a delegate or lambda expression to a list of argument expressions.

Declaration
public InvocationExpressionSlim Invoke(ExpressionSlim expression, ExpressionSlim[] arguments)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim that represents the delegate or lambda expression to be applied.

ExpressionSlim[] arguments

An array of ExpressionSlim objects that represent the arguments that the delegate or lambda expression is applied to.

Returns
Type Description
InvocationExpressionSlim

An InvocationExpressionSlim that applies the specified delegate or lambda expression to the provided arguments.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.ArgumentException

expression.Type does not represent a delegate type or an System.Linq.Expressions.Expression<>.-or-The System.Linq.Expressions.ExpressionSlim.Type property of an element of arguments is not assignable to the type of the corresponding parameter of the delegate represented by expression.

System.InvalidOperationException

arguments does not contain the same number of elements as the list of parameters for the delegate represented by expression.

IsFalse(ExpressionSlim)

Returns whether the expression evaluates to false.

Declaration
public UnaryExpressionSlim IsFalse(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to evaluate.

Returns
Type Description
UnaryExpressionSlim

An instance of UnaryExpressionSlim.

IsFalse(ExpressionSlim, MethodInfoSlim)

Returns whether the expression evaluates to false.

Declaration
public UnaryExpressionSlim IsFalse(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to evaluate.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

An instance of UnaryExpressionSlim.

IsTrue(ExpressionSlim)

Returns whether the expression evaluates to true.

Declaration
public UnaryExpressionSlim IsTrue(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to evaluate.

Returns
Type Description
UnaryExpressionSlim

An instance of UnaryExpressionSlim.

IsTrue(ExpressionSlim, MethodInfoSlim)

Returns whether the expression evaluates to true.

Declaration
public UnaryExpressionSlim IsTrue(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to evaluate.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

An instance of UnaryExpressionSlim.

Label()

Creates a LabelTargetSlim representing a label with void type and no name.

Declaration
public LabelTargetSlim Label()
Returns
Type Description
LabelTargetSlim

The new LabelTargetSlim.

Label(LabelTargetSlim)

Creates a LabelExpressionSlim representing a label without a default value.

Declaration
public LabelExpressionSlim Label(LabelTargetSlim target)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim which this LabelExpressionSlim will be associated with.

Returns
Type Description
LabelExpressionSlim

A LabelExpressionSlim without a default value.

Label(LabelTargetSlim, ExpressionSlim)

Creates a LabelExpressionSlim representing a label with the given default value.

Declaration
public LabelExpressionSlim Label(LabelTargetSlim target, ExpressionSlim defaultValue)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim which this LabelExpressionSlim will be associated with.

ExpressionSlim defaultValue

The value of this LabelExpressionSlim when the label is reached through regular control flow.

Returns
Type Description
LabelExpressionSlim

A LabelExpressionSlim with the given default value.

Label(TypeSlim)

Creates a LabelTargetSlim representing a label with the given type.

Declaration
public LabelTargetSlim Label(TypeSlim type)
Parameters
Type Name Description
TypeSlim type

The type of value that is passed when jumping to the label.

Returns
Type Description
LabelTargetSlim

The new LabelTargetSlim.

Label(TypeSlim, String)

Creates a LabelTargetSlim representing a label with the given type and name.

Declaration
public LabelTargetSlim Label(TypeSlim type, string name)
Parameters
Type Name Description
TypeSlim type

The type of value that is passed when jumping to the label.

System.String name

The name of the label.

Returns
Type Description
LabelTargetSlim

The new LabelTargetSlim.

Label(String)

Creates a LabelTargetSlim representing a label with void type and the given name.

Declaration
public LabelTargetSlim Label(string name)
Parameters
Type Name Description
System.String name

The name of the label.

Returns
Type Description
LabelTargetSlim

The new LabelTargetSlim.

Lambda(ExpressionSlim, IEnumerable<ParameterExpressionSlim>)

Creates a LambdaExpression by first constructing a delegate type.

Declaration
public LambdaExpressionSlim Lambda(ExpressionSlim body, IEnumerable<ParameterExpressionSlim> parameters)
Parameters
Type Name Description
ExpressionSlim body

An ExpressionSlim to set the Body property equal to.

System.Collections.Generic.IEnumerable<ParameterExpressionSlim> parameters

An System.Collections.Generic.IEnumerable<> that contains ParameterExpressionSlim objects to use to populate the Parameters collection.

Returns
Type Description
LambdaExpressionSlim

A LambdaExpressionSlim that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

Lambda(ExpressionSlim, ParameterExpressionSlim[])

Creates a LambdaExpressionSlim by first constructing a delegate type.

Declaration
public LambdaExpressionSlim Lambda(ExpressionSlim body, ParameterExpressionSlim[] parameters)
Parameters
Type Name Description
ExpressionSlim body

An ExpressionSlim to set the Body property equal to.

ParameterExpressionSlim[] parameters

An array of ParameterExpressionSlim objects to use to populate the Parameters collection.

Returns
Type Description
LambdaExpressionSlim

A LambdaExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Lambda and the Body and Parameters properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

body is null.-or-One or more elements of parameters are null.

System.ArgumentException

parameters contains more than sixteen elements.

Lambda(TypeSlim, ExpressionSlim, IEnumerable<ParameterExpressionSlim>)

Creates a LambdaExpressionSlim by first constructing a delegate type. It can be used when the delegate type is not known at compile time.

Declaration
public LambdaExpressionSlim Lambda(TypeSlim delegateType, ExpressionSlim body, IEnumerable<ParameterExpressionSlim> parameters)
Parameters
Type Name Description
TypeSlim delegateType

A TypeSlim that represents a delegate signature for the lambda.

ExpressionSlim body

An ExpressionSlim to set the Body property equal to.

System.Collections.Generic.IEnumerable<ParameterExpressionSlim> parameters

An System.Collections.Generic.IEnumerable<> that contains ParameterExpressionSlim objects to use to populate the Parameters collection.

Returns
Type Description
LambdaExpressionSlim

An object that represents a lambda expression which has the NodeType property equal to System.Linq.Expressions.ExpressionType.Lambda and the Body and Parameters properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

delegateType or body is null.-or-One or more elements in parameters are null.

System.ArgumentException

delegateType does not represent a delegate type.-or- body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType.-or- parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType.-or-The System.Linq.Expressions.ExpressionSlim.Type property of an element of parameters is not assignable from the type of the corresponding parameter type of the delegate type represented by delegateType.

Lambda(TypeSlim, ExpressionSlim, ParameterExpressionSlim[])

Creates a LambdaExpressionSlim by first constructing a delegate type. It can be used when the delegate type is not known at compile time.

Declaration
public LambdaExpressionSlim Lambda(TypeSlim delegateType, ExpressionSlim body, ParameterExpressionSlim[] parameters)
Parameters
Type Name Description
TypeSlim delegateType

A TypeSlim that represents a delegate signature for the lambda.

ExpressionSlim body

An ExpressionSlim to set the Body property equal to.

ParameterExpressionSlim[] parameters

An array of ParameterExpressionSlim objects to use to populate the Parameters collection.

Returns
Type Description
LambdaExpressionSlim

An object that represents a lambda expression which has the NodeType property equal to System.Linq.Expressions.ExpressionType.Lambda and the Body and Parameters properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

delegateType or body is null.-or-One or more elements in parameters are null.

System.ArgumentException

delegateType does not represent a delegate type.-or- body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType.-or- parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType.-or-The System.Linq.Expressions.ExpressionSlim.Type property of an element of parameters is not assignable from the type of the corresponding parameter type of the delegate type represented by delegateType.

LeftShift(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise left-shift operation.

Declaration
public BinaryExpressionSlim LeftShift(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LeftShift and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The left-shift operator is not defined for left.Type and right.Type.

LeftShift(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise left-shift operation.

Declaration
public BinaryExpressionSlim LeftShift(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LeftShift and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the left-shift operator is not defined for left.Type and right.Type.

LeftShiftAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise left-shift assignment operation.

Declaration
public BinaryExpressionSlim LeftShiftAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LeftShiftAssign and the Left and Right properties set to the specified values.

LeftShiftAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise left-shift assignment operation.

Declaration
public BinaryExpressionSlim LeftShiftAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LeftShiftAssign and the Left, Right, and Method properties set to the specified values.

LeftShiftAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise left-shift assignment operation.

Declaration
public BinaryExpressionSlim LeftShiftAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LeftShiftAssign and the Left, Right, Method, and Conversion properties set to the specified values.

LessThan(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a "less than" numeric comparison.

Declaration
public BinaryExpressionSlim LessThan(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LessThan and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The "less than" operator is not defined for left.Type and right.Type.

LessThan(ExpressionSlim, ExpressionSlim, Boolean, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a "less than" numeric comparison.

Declaration
public BinaryExpressionSlim LessThan(ExpressionSlim left, ExpressionSlim right, bool liftToNull, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

System.Boolean liftToNull

true to set IsLiftedToNull to true; false to set IsLiftedToNull to false.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LessThan and the Left, Right, IsLiftedToNull, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the "less than" operator is not defined for left.Type and right.Type.

LessThanOrEqual(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a " less than or equal" numeric comparison.

Declaration
public BinaryExpressionSlim LessThanOrEqual(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LessThanOrEqual and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The "less than or equal" operator is not defined for left.Type and right.Type.

LessThanOrEqual(ExpressionSlim, ExpressionSlim, Boolean, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a "less than or equal" numeric comparison.

Declaration
public BinaryExpressionSlim LessThanOrEqual(ExpressionSlim left, ExpressionSlim right, bool liftToNull, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

System.Boolean liftToNull

true to set IsLiftedToNull to true; false to set IsLiftedToNull to false.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.LessThanOrEqual and the Left, Right, IsLiftedToNull, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the "less than or equal" operator is not defined for left.Type and right.Type.

ListBind(MemberInfoSlim, IEnumerable<ElementInitSlim>)

Creates a MemberListBindingSlim where the member is a field or property.

Declaration
public MemberListBindingSlim ListBind(MemberInfoSlim member, IEnumerable<ElementInitSlim> initializers)
Parameters
Type Name Description
MemberInfoSlim member

A MemberInfoSlim that represents a field or property to set the Member property equal to.

System.Collections.Generic.IEnumerable<ElementInitSlim> initializers

An System.Collections.Generic.IEnumerable<> that contains ElementInitSlim objects to use to populate the Initializers collection.

Returns
Type Description
MemberListBindingSlim

A MemberListBindingSlim that has the BindingType property equal to System.Linq.Expressions.MemberBindingType.ListBinding and the Member and Initializers properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

member is null. -or-One or more elements of initializers are null.

System.ArgumentException

member does not represent a field or property.-or-The FieldType or PropertyType of the field or property that member represents does not implement System.Collections.IEnumerable.

ListBind(MemberInfoSlim, ElementInitSlim[])

Creates a MemberListBindingSlim where the member is a field or property.

Declaration
public MemberListBindingSlim ListBind(MemberInfoSlim member, ElementInitSlim[] initializers)
Parameters
Type Name Description
MemberInfoSlim member

A MemberInfoSlim that represents a field or property to set the Member property equal to.

ElementInitSlim[] initializers

An array of ElementInitSlim objects to use to populate the Initializers collection.

Returns
Type Description
MemberListBindingSlim

A MemberListBindingSlim that has the BindingType property equal to System.Linq.Expressions.MemberBindingType.ListBinding and the Member and Initializers properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

member is null. -or-One or more elements of initializers are null.

System.ArgumentException

member does not represent a field or property.-or-The FieldType or PropertyType of the field or property that member represents does not implement System.Collections.IEnumerable.

ListInit(NewExpressionSlim, IEnumerable<ElementInitSlim>)

Creates a ListInitExpressionSlim that uses specified ElementInitSlim objects to initialize a collection.

Declaration
public ListInitExpressionSlim ListInit(NewExpressionSlim newExpression, IEnumerable<ElementInitSlim> initializers)
Parameters
Type Name Description
NewExpressionSlim newExpression

A NewExpressionSlim to set the NewExpression property equal to.

System.Collections.Generic.IEnumerable<ElementInitSlim> initializers

An System.Collections.Generic.IEnumerable<> that contains ElementInitSlim objects to use to populate the Initializers collection.

Returns
Type Description
ListInitExpressionSlim

A ListInitExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ListInit and the NewExpression and Initializers properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

newExpression or initializers is null.-or-One or more elements of initializers are null.

System.ArgumentException

newExpression.Type does not implement System.Collections.IEnumerable.

ListInit(NewExpressionSlim, ElementInitSlim[])

Creates a ListInitExpressionSlim that uses specified ElementInitSlim objects to initialize a collection.

Declaration
public ListInitExpressionSlim ListInit(NewExpressionSlim newExpression, ElementInitSlim[] initializers)
Parameters
Type Name Description
NewExpressionSlim newExpression

A NewExpressionSlim to set the NewExpression property equal to.

ElementInitSlim[] initializers

An array of ElementInitSlim objects to use to populate the Initializers collection.

Returns
Type Description
ListInitExpressionSlim

A ListInitExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ListInit and the NewExpression and Initializers properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

newExpression or initializers is null.-or-One or more elements of initializers are null.

System.ArgumentException

newExpression.Type does not implement System.Collections.IEnumerable.

ListInit(NewExpressionSlim, MethodInfoSlim, IEnumerable<ExpressionSlim>)

Creates a ListInitExpressionSlim that uses a specified method to add elements to a collection.

Declaration
public ListInitExpressionSlim ListInit(NewExpressionSlim newExpression, MethodInfoSlim addMethod, IEnumerable<ExpressionSlim> initializers)
Parameters
Type Name Description
NewExpressionSlim newExpression

A NewExpressionSlim to set the NewExpression property equal to.

MethodInfoSlim addMethod

A MethodInfoSlim that represents an instance method named "Add" (case insensitive), that adds an element to a collection.

System.Collections.Generic.IEnumerable<ExpressionSlim> initializers

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects to use to populate the Initializers collection.

Returns
Type Description
ListInitExpressionSlim

A ListInitExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ListInit and the NewExpression property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

newExpression or initializers is null.-or-One or more elements of initializers are null.

System.ArgumentException

newExpression.Type does not implement System.Collections.IEnumerable.-or- addMethod is not null and it does not represent an instance method named "Add" (case insensitive) that takes exactly one argument.-or- addMethod is not null and the type represented by the System.Linq.Expressions.ExpressionSlim.Type property of one or more elements of initializers is not assignable to the argument type of the method that addMethod represents.

System.InvalidOperationException

addMethod is null and no instance method named "Add" that takes one type-compatible argument exists on newExpression.Type or its base type.

ListInit(NewExpressionSlim, MethodInfoSlim, ExpressionSlim[])

Creates a ListInitExpressionSlim that uses a specified method to add elements to a collection.

Declaration
public ListInitExpressionSlim ListInit(NewExpressionSlim newExpression, MethodInfoSlim addMethod, ExpressionSlim[] initializers)
Parameters
Type Name Description
NewExpressionSlim newExpression

A NewExpressionSlim to set the NewExpression property equal to.

MethodInfoSlim addMethod

A MethodInfoSlim that represents an instance method that takes one argument, that adds an element to a collection.

ExpressionSlim[] initializers

An array of ExpressionSlim objects to use to populate the Initializers collection.

Returns
Type Description
ListInitExpressionSlim

A ListInitExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ListInit and the NewExpression property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

newExpression or initializers is null.-or-One or more elements of initializers are null.

System.ArgumentException

newExpression.Type does not implement System.Collections.IEnumerable.-or- addMethod is not null and it does not represent an instance method named "Add" (case insensitive) that takes exactly one argument.-or- addMethod is not null and the type represented by the System.Linq.Expressions.ExpressionSlim.Type property of one or more elements of initializers is not assignable to the argument type of the method that addMethod represents.

System.InvalidOperationException

addMethod is null and no instance method named "Add" that takes one type-compatible argument exists on newExpression.Type or its base type.

Loop(ExpressionSlim)

Creates a LoopExpressionSlim with the given body.

Declaration
public LoopExpressionSlim Loop(ExpressionSlim body)
Parameters
Type Name Description
ExpressionSlim body

The body of the loop.

Returns
Type Description
LoopExpressionSlim

The created LoopExpressionSlim.

Loop(ExpressionSlim, LabelTargetSlim)

Creates a LoopExpressionSlim with the given body and break target.

Declaration
public LoopExpressionSlim Loop(ExpressionSlim body, LabelTargetSlim break)
Parameters
Type Name Description
ExpressionSlim body

The body of the loop.

LabelTargetSlim break

The break target used by the loop body.

Returns
Type Description
LoopExpressionSlim

The created LoopExpressionSlim.

Loop(ExpressionSlim, LabelTargetSlim, LabelTargetSlim)

Creates a LoopExpressionSlim with the given body.

Declaration
public LoopExpressionSlim Loop(ExpressionSlim body, LabelTargetSlim break, LabelTargetSlim continue)
Parameters
Type Name Description
ExpressionSlim body

The body of the loop.

LabelTargetSlim break

The break target used by the loop body.

LabelTargetSlim continue

The continue target used by the loop body.

Returns
Type Description
LoopExpressionSlim

The created LoopExpressionSlim.

MakeBinary(ExpressionType, ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim, given the left and right operands, by calling an appropriate factory method.

Declaration
public BinaryExpressionSlim MakeBinary(ExpressionType binaryType, ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
System.Linq.Expressions.ExpressionType binaryType

The System.Linq.Expressions.ExpressionType that specifies the type of binary operation.

ExpressionSlim left

An ExpressionSlim that represents the left operand.

ExpressionSlim right

An ExpressionSlim that represents the right operand.

Returns
Type Description
BinaryExpressionSlim

The BinaryExpressionSlim that results from calling the appropriate factory method.

Exceptions
Type Condition
System.ArgumentException

binaryType does not correspond to a binary expression node.

System.ArgumentNullException

left or right is null.

MakeBinary(ExpressionType, ExpressionSlim, ExpressionSlim, Boolean, MethodInfoSlim)

Creates a BinaryExpressionSlim, given the left operand, right operand and implementing method, by calling the appropriate factory method.

Declaration
public BinaryExpressionSlim MakeBinary(ExpressionType binaryType, ExpressionSlim left, ExpressionSlim right, bool liftToNull, MethodInfoSlim method)
Parameters
Type Name Description
System.Linq.Expressions.ExpressionType binaryType

The System.Linq.Expressions.ExpressionType that specifies the type of binary operation.

ExpressionSlim left

An ExpressionSlim that represents the left operand.

ExpressionSlim right

An ExpressionSlim that represents the right operand.

System.Boolean liftToNull

true to set IsLiftedToNull to true; false to set IsLiftedToNull to false.

MethodInfoSlim method

A MethodInfoSlim that specifies the implementing method.

Returns
Type Description
BinaryExpressionSlim

The BinaryExpressionSlim that results from calling the appropriate factory method.

Exceptions
Type Condition
System.ArgumentException

binaryType does not correspond to a binary expression node.

System.ArgumentNullException

left or right is null.

MakeBinary(ExpressionType, ExpressionSlim, ExpressionSlim, Boolean, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim, given the left operand, right operand, implementing method and type conversion function, by calling the appropriate factory method.

Declaration
public BinaryExpressionSlim MakeBinary(ExpressionType binaryType, ExpressionSlim left, ExpressionSlim right, bool liftToNull, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
System.Linq.Expressions.ExpressionType binaryType

The System.Linq.Expressions.ExpressionType that specifies the type of binary operation.

ExpressionSlim left

An ExpressionSlim that represents the left operand.

ExpressionSlim right

An ExpressionSlim that represents the right operand.

System.Boolean liftToNull

true to set IsLiftedToNull to true; false to set IsLiftedToNull to false.

MethodInfoSlim method

A MethodInfoSlim that specifies the implementing method.

LambdaExpressionSlim conversion

A LambdaExpressionSlim that represents a type conversion function. This parameter is used only if binaryType is System.Linq.Expressions.ExpressionType.Coalesce or compound assignment..

Returns
Type Description
BinaryExpressionSlim

The BinaryExpressionSlim that results from calling the appropriate factory method.

Exceptions
Type Condition
System.ArgumentException

binaryType does not correspond to a binary expression node.

System.ArgumentNullException

left or right is null.

MakeCatchBlock(TypeSlim, ParameterExpressionSlim, ExpressionSlim, ExpressionSlim)

Creates a CatchBlockSlim representing a catch statement with the specified elements.

Declaration
public CatchBlockSlim MakeCatchBlock(TypeSlim type, ParameterExpressionSlim variable, ExpressionSlim body, ExpressionSlim filter)
Parameters
Type Name Description
TypeSlim type

The System.Linq.Expressions.ExpressionSlim.Type of System.Exception this CatchBlockSlim will handle.

ParameterExpressionSlim variable

A ParameterExpressionSlim representing a reference to the System.Exception object caught by this handler.

ExpressionSlim body

The body of the catch statement.

ExpressionSlim filter

The body of the System.Exception filter.

Returns
Type Description
CatchBlockSlim

The created CatchBlockSlim.

MakeGoto(GotoExpressionKind, LabelTargetSlim, ExpressionSlim, TypeSlim)

Creates a GotoExpressionSlim representing a jump of the specified System.Linq.Expressions.GotoExpressionKind. The value passed to the label upon jumping can also be specified.

Declaration
public GotoExpressionSlim MakeGoto(GotoExpressionKind kind, LabelTargetSlim target, ExpressionSlim value, TypeSlim type)
Parameters
Type Name Description
System.Linq.Expressions.GotoExpressionKind kind

The System.Linq.Expressions.GotoExpressionKind of the GotoExpressionSlim.

LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

ExpressionSlim value

The value that will be passed to the associated label upon jumping.

TypeSlim type

An TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to kind, the Target property set to target, the System.Linq.Expressions.ExpressionSlim.Type property set to type, and value to be passed to the target label upon jumping.

MakeIndex(ExpressionSlim, PropertyInfoSlim, IEnumerable<ExpressionSlim>)

Creates an IndexExpressionSlim that represents accessing an indexed property in an object.

Declaration
public IndexExpressionSlim MakeIndex(ExpressionSlim instance, PropertyInfoSlim indexer, IEnumerable<ExpressionSlim> arguments)
Parameters
Type Name Description
ExpressionSlim instance

The object to which the property belongs. It should be null if the property is static (langword_csharp_shared in Visual Basic).

PropertyInfoSlim indexer

An ExpressionSlim representing the property to index.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

An IEnumerable<Expression> (IEnumerable (Of Expression) in Visual Basic) that contains the arguments that will be used to index the property.

Returns
Type Description
IndexExpressionSlim

The created IndexExpressionSlim.

MakeMemberAccess(ExpressionSlim, MemberInfoSlim)

Creates a MemberExpressionSlim that represents accessing either a field or a property.

Declaration
public MemberExpressionSlim MakeMemberAccess(ExpressionSlim expression, MemberInfoSlim member)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim that represents the object that the member belongs to. This can be null for static members.

MemberInfoSlim member

The MemberInfoSlim that describes the field or property to be accessed.

Returns
Type Description
MemberExpressionSlim

The MemberExpressionSlim that results from calling the appropriate factory method.

Exceptions
Type Condition
System.ArgumentNullException

member is null.

System.ArgumentException

member does not represent a field or property.

MakeTry(TypeSlim, ExpressionSlim, ExpressionSlim, ExpressionSlim, IEnumerable<CatchBlockSlim>)

Creates a TryExpressionSlim representing a try block with the specified elements.

Declaration
public TryExpressionSlim MakeTry(TypeSlim type, ExpressionSlim body, ExpressionSlim finally, ExpressionSlim fault, IEnumerable<CatchBlockSlim> handlers)
Parameters
Type Name Description
TypeSlim type

The result type of the try expression. If null, bodh and all handlers must have identical type.

ExpressionSlim body

The body of the try block.

ExpressionSlim finally

The body of the finally block. Pass null if the try block has no finally block associated with it.

ExpressionSlim fault

The body of the fault block. Pass null if the try block has no fault block associated with it.

System.Collections.Generic.IEnumerable<CatchBlockSlim> handlers

A collection of CatchBlockSlims representing the catch statements to be associated with the try block.

Returns
Type Description
TryExpressionSlim

The created TryExpressionSlim.

MakeUnary(ExpressionType, ExpressionSlim, TypeSlim)

Creates a UnaryExpressionSlim, given an operand, by calling the appropriate factory method.

Declaration
public UnaryExpressionSlim MakeUnary(ExpressionType unaryType, ExpressionSlim operand, TypeSlim type)
Parameters
Type Name Description
System.Linq.Expressions.ExpressionType unaryType

The System.Linq.Expressions.ExpressionType that specifies the type of unary operation.

ExpressionSlim operand

An ExpressionSlim that represents the operand.

TypeSlim type

The TypeSlim that specifies the type to be converted to (pass null if not applicable).

Returns
Type Description
UnaryExpressionSlim

The UnaryExpressionSlim that results from calling the appropriate factory method.

Exceptions
Type Condition
System.ArgumentNullException

operand is null.

System.ArgumentException

unaryType does not correspond to a unary expression node.

MakeUnary(ExpressionType, ExpressionSlim, TypeSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim, given an operand and implementing method, by calling the appropriate factory method.

Declaration
public UnaryExpressionSlim MakeUnary(ExpressionType unaryType, ExpressionSlim operand, TypeSlim type, MethodInfoSlim method)
Parameters
Type Name Description
System.Linq.Expressions.ExpressionType unaryType

The System.Linq.Expressions.ExpressionType that specifies the type of unary operation.

ExpressionSlim operand

An ExpressionSlim that represents the operand.

TypeSlim type

The TypeSlim that specifies the type to be converted to (pass null if not applicable).

MethodInfoSlim method

The MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

The UnaryExpressionSlim that results from calling the appropriate factory method.

Exceptions
Type Condition
System.ArgumentNullException

operand is null.

System.ArgumentException

unaryType does not correspond to a unary expression node.

MemberBind(MemberInfoSlim, IEnumerable<MemberBindingSlim>)

Creates a MemberMemberBindingSlim that represents the recursive initialization of members of a field or property.

Declaration
public MemberMemberBindingSlim MemberBind(MemberInfoSlim member, IEnumerable<MemberBindingSlim> bindings)
Parameters
Type Name Description
MemberInfoSlim member

The MemberInfoSlim to set the Member property equal to.

System.Collections.Generic.IEnumerable<MemberBindingSlim> bindings

An System.Collections.Generic.IEnumerable<> that contains MemberBindingSlim objects to use to populate the Bindings collection.

Returns
Type Description
MemberMemberBindingSlim

A MemberMemberBindingSlim that has the BindingType property equal to System.Linq.Expressions.MemberBindingType.MemberBindingSlim and the Member and Bindings properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

member or bindings is null.

System.ArgumentException

member does not represent a field or property.-or-The Member property of an element of bindings does not represent a member of the type of the field or property that member represents.

MemberBind(MemberInfoSlim, MemberBindingSlim[])

Creates a MemberMemberBindingSlim that represents the recursive initialization of members of a field or property.

Declaration
public MemberMemberBindingSlim MemberBind(MemberInfoSlim member, MemberBindingSlim[] bindings)
Parameters
Type Name Description
MemberInfoSlim member

The MemberInfoSlim to set the Member property equal to.

MemberBindingSlim[] bindings

An array of MemberBindingSlim objects to use to populate the Bindings collection.

Returns
Type Description
MemberMemberBindingSlim

A MemberMemberBindingSlim that has the BindingType property equal to System.Linq.Expressions.MemberBindingType.MemberBindingSlim and the Member and Bindings properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

member or bindings is null.

System.ArgumentException

member does not represent a field or property.-or-The Member property of an element of bindings does not represent a member of the type of the field or property that member represents.

MemberInit(NewExpressionSlim, IEnumerable<MemberBindingSlim>)

Represents an expression that creates a new object and initializes a property of the object.

Declaration
public MemberInitExpressionSlim MemberInit(NewExpressionSlim newExpression, IEnumerable<MemberBindingSlim> bindings)
Parameters
Type Name Description
NewExpressionSlim newExpression

A NewExpressionSlim to set the NewExpression property equal to.

System.Collections.Generic.IEnumerable<MemberBindingSlim> bindings

An System.Collections.Generic.IEnumerable<> that contains MemberBindingSlim objects to use to populate the Bindings collection.

Returns
Type Description
MemberInitExpressionSlim

A MemberInitExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MemberInit and the NewExpression and Bindings properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

newExpression or bindings is null.

System.ArgumentException

The Member property of an element of bindings does not represent a member of the type that newExpression.Type represents.

MemberInit(NewExpressionSlim, MemberBindingSlim[])

Creates a MemberInitExpressionSlim.

Declaration
public MemberInitExpressionSlim MemberInit(NewExpressionSlim newExpression, MemberBindingSlim[] bindings)
Parameters
Type Name Description
NewExpressionSlim newExpression

A NewExpressionSlim to set the NewExpression property equal to.

MemberBindingSlim[] bindings

An array of MemberBindingSlim objects to use to populate the Bindings collection.

Returns
Type Description
MemberInitExpressionSlim

A MemberInitExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MemberInit and the NewExpression and Bindings properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

newExpression or bindings is null.

System.ArgumentException

The Member property of an element of bindings does not represent a member of the type that newExpression.Type represents.

Modulo(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an arithmetic remainder operation.

Declaration
public BinaryExpressionSlim Modulo(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Modulo and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The modulus operator is not defined for left.Type and right.Type.

Modulo(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an arithmetic remainder operation.

Declaration
public BinaryExpressionSlim Modulo(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Modulo and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the modulus operator is not defined for left.Type and right.Type.

ModuloAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a remainder assignment operation.

Declaration
public BinaryExpressionSlim ModuloAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ModuloAssign and the Left and Right properties set to the specified values.

ModuloAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a remainder assignment operation.

Declaration
public BinaryExpressionSlim ModuloAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ModuloAssign and the Left, Right, and Method properties set to the specified values.

ModuloAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a remainder assignment operation.

Declaration
public BinaryExpressionSlim ModuloAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.ModuloAssign and the Left, Right, Method, and Conversion properties set to the specified values.

Multiply(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an arithmetic multiplication operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim Multiply(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Multiply and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The multiplication operator is not defined for left.Type and right.Type.

Multiply(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an arithmetic multiplication operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim Multiply(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Multiply and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the multiplication operator is not defined for left.Type and right.Type.

MultiplyAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a multiplication assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim MultiplyAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MultiplyAssign and the Left and Right properties set to the specified values.

MultiplyAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a multiplication assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim MultiplyAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MultiplyAssign and the Left, Right, and Method properties set to the specified values.

MultiplyAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a multiplication assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim MultiplyAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MultiplyAssign and the Left, Right, Method, and Conversion properties set to the specified values.

MultiplyAssignChecked(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a multiplication assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim MultiplyAssignChecked(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MultiplyAssignChecked and the Left and Right properties set to the specified values.

MultiplyAssignChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a multiplication assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim MultiplyAssignChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MultiplyAssignChecked and the Left, Right, and Method properties set to the specified values.

MultiplyAssignChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a multiplication assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim MultiplyAssignChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MultiplyAssignChecked and the Left, Right, Method, and Conversion properties set to the specified values.

MultiplyChecked(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an arithmetic multiplication operation that has overflow checking.

Declaration
public BinaryExpressionSlim MultiplyChecked(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MultiplyChecked and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The multiplication operator is not defined for left.Type and right.Type.

MultiplyChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an arithmetic multiplication operation that has overflow checking.

Declaration
public BinaryExpressionSlim MultiplyChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MultiplyChecked and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the multiplication operator is not defined for left.Type and right.Type.

Negate(ExpressionSlim)

Creates a UnaryExpressionSlim that represents an arithmetic negation operation.

Declaration
public UnaryExpressionSlim Negate(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Negate and the Operand property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.InvalidOperationException

The unary minus operator is not defined for expression.Type.

Negate(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents an arithmetic negation operation.

Declaration
public UnaryExpressionSlim Negate(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Negate and the Operand and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly one argument.

System.InvalidOperationException

method is null and the unary minus operator is not defined for expression.Type.-or- expression.Type (or its corresponding non-nullable type if it is a nullable value type) is not assignable to the argument type of the method represented by method.

NegateChecked(ExpressionSlim)

Creates a UnaryExpressionSlim that represents an arithmetic negation operation that has overflow checking.

Declaration
public UnaryExpressionSlim NegateChecked(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NegateChecked and the Operand property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.InvalidOperationException

The unary minus operator is not defined for expression.Type.

NegateChecked(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents an arithmetic negation operation that has overflow checking. The implementing method can be specified.

Declaration
public UnaryExpressionSlim NegateChecked(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NegateChecked and the Operand and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly one argument.

System.InvalidOperationException

method is null and the unary minus operator is not defined for expression.Type.-or- expression.Type (or its corresponding non-nullable type if it is a nullable value type) is not assignable to the argument type of the method represented by method.

New(ConstructorInfoSlim)

Creates a NewExpressionSlim that represents calling the specified constructor that takes no arguments.

Declaration
public NewExpressionSlim New(ConstructorInfoSlim constructor)
Parameters
Type Name Description
ConstructorInfoSlim constructor

The ConstructorInfoSlim to set the Constructor property equal to.

Returns
Type Description
NewExpressionSlim

A NewExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.New and the Constructor property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

constructor is null.

System.ArgumentException

The constructor that constructor represents has at least one parameter.

New(ConstructorInfoSlim, IEnumerable<ExpressionSlim>)

Creates a NewExpressionSlim that represents calling the specified constructor with the specified arguments.

Declaration
public NewExpressionSlim New(ConstructorInfoSlim constructor, IEnumerable<ExpressionSlim> arguments)
Parameters
Type Name Description
ConstructorInfoSlim constructor

The ConstructorInfoSlim to set the Constructor property equal to.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects to use to populate the Arguments collection.

Returns
Type Description
NewExpressionSlim

A NewExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.New and the Constructor and Arguments properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

constructor is null.-or-An element of arguments is null.

System.ArgumentException

The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.-or-The System.Linq.Expressions.ExpressionSlim.Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

New(ConstructorInfoSlim, IEnumerable<ExpressionSlim>, IEnumerable<MemberInfoSlim>)

Creates a NewExpressionSlim that represents calling the specified constructor with the specified arguments. The members that access the constructor initialized fields are specified.

Declaration
public NewExpressionSlim New(ConstructorInfoSlim constructor, IEnumerable<ExpressionSlim> arguments, IEnumerable<MemberInfoSlim> members)
Parameters
Type Name Description
ConstructorInfoSlim constructor

The ConstructorInfoSlim to set the Constructor property equal to.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects to use to populate the Arguments collection.

System.Collections.Generic.IEnumerable<MemberInfoSlim> members

An System.Collections.Generic.IEnumerable<> that contains MemberInfoSlim objects to use to populate the Members collection.

Returns
Type Description
NewExpressionSlim

A NewExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.New and the Constructor, Arguments and Members properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

constructor is null.-or-An element of arguments is null.-or-An element of members is null.

System.ArgumentException

The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.-or-The System.Linq.Expressions.ExpressionSlim.Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.-or-The members parameter does not have the same number of elements as arguments.-or-An element of arguments has a System.Linq.Expressions.ExpressionSlim.Type property that represents a type that is not assignable to the type of the member that is represented by the corresponding element of members.

New(ConstructorInfoSlim, IEnumerable<ExpressionSlim>, MemberInfoSlim[])

Creates a NewExpressionSlim that represents calling the specified constructor with the specified arguments. The members that access the constructor initialized fields are specified as an array.

Declaration
public NewExpressionSlim New(ConstructorInfoSlim constructor, IEnumerable<ExpressionSlim> arguments, MemberInfoSlim[] members)
Parameters
Type Name Description
ConstructorInfoSlim constructor

The ConstructorInfoSlim to set the Constructor property equal to.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects to use to populate the Arguments collection.

MemberInfoSlim[] members

An array of MemberInfoSlim objects to use to populate the Members collection.

Returns
Type Description
NewExpressionSlim

A NewExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.New and the Constructor, Arguments and Members properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

constructor is null.-or-An element of arguments is null.-or-An element of members is null.

System.ArgumentException

The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.-or-The System.Linq.Expressions.ExpressionSlim.Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.-or-The members parameter does not have the same number of elements as arguments.-or-An element of arguments has a System.Linq.Expressions.ExpressionSlim.Type property that represents a type that is not assignable to the type of the member that is represented by the corresponding element of members.

New(ConstructorInfoSlim, ExpressionSlim[])

Creates a NewExpressionSlim that represents calling the specified constructor with the specified arguments.

Declaration
public NewExpressionSlim New(ConstructorInfoSlim constructor, ExpressionSlim[] arguments)
Parameters
Type Name Description
ConstructorInfoSlim constructor

The ConstructorInfoSlim to set the Constructor property equal to.

ExpressionSlim[] arguments

An array of ExpressionSlim objects to use to populate the Arguments collection.

Returns
Type Description
NewExpressionSlim

A NewExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.New and the Constructor and Arguments properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

constructor is null.-or-An element of arguments is null.

System.ArgumentException

The length of arguments does match the number of parameters for the constructor that constructor represents.-or-The System.Linq.Expressions.ExpressionSlim.Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

New(TypeSlim)

Creates a NewExpressionSlim that represents calling the parameterless constructor of the specified type.

Declaration
public NewExpressionSlim New(TypeSlim type)
Parameters
Type Name Description
TypeSlim type

A TypeSlim that has a constructor that takes no arguments.

Returns
Type Description
NewExpressionSlim

A NewExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.New and the Constructor property set to the ConstructorInfoSlim that represents the constructor without parameters for the specified type.

Exceptions
Type Condition
System.ArgumentNullException

type is null.

System.ArgumentException

The type that type represents does not have a constructor without parameters.

NewArrayBounds(TypeSlim, IEnumerable<ExpressionSlim>)

Creates a NewArrayExpressionSlim that represents creating an array that has a specified rank.

Declaration
public NewArrayExpressionSlim NewArrayBounds(TypeSlim type, IEnumerable<ExpressionSlim> bounds)
Parameters
Type Name Description
TypeSlim type

A TypeSlim that represents the element type of the array.

System.Collections.Generic.IEnumerable<ExpressionSlim> bounds

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects to use to populate the Expressions collection.

Returns
Type Description
NewArrayExpressionSlim

A NewArrayExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NewArrayBounds and the Expressions property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

type or bounds is null.-or-An element of bounds is null.

System.ArgumentException

The System.Linq.Expressions.ExpressionSlim.Type property of an element of bounds does not represent an integral type.

NewArrayBounds(TypeSlim, ExpressionSlim[])

Creates a NewArrayExpressionSlim that represents creating an array that has a specified rank.

Declaration
public NewArrayExpressionSlim NewArrayBounds(TypeSlim type, ExpressionSlim[] bounds)
Parameters
Type Name Description
TypeSlim type

A TypeSlim that represents the element type of the array.

ExpressionSlim[] bounds

An array of ExpressionSlim objects to use to populate the Expressions collection.

Returns
Type Description
NewArrayExpressionSlim

A NewArrayExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NewArrayBounds and the Expressions property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

type or bounds is null.-or-An element of bounds is null.

System.ArgumentException

The System.Linq.Expressions.ExpressionSlim.Type property of an element of bounds does not represent an integral type.

NewArrayInit(TypeSlim, IEnumerable<ExpressionSlim>)

Creates a NewArrayExpressionSlim that represents creating a one-dimensional array and initializing it from a list of elements.

Declaration
public NewArrayExpressionSlim NewArrayInit(TypeSlim type, IEnumerable<ExpressionSlim> initializers)
Parameters
Type Name Description
TypeSlim type

A TypeSlim that represents the element type of the array.

System.Collections.Generic.IEnumerable<ExpressionSlim> initializers

An System.Collections.Generic.IEnumerable<> that contains ExpressionSlim objects to use to populate the Expressions collection.

Returns
Type Description
NewArrayExpressionSlim

A NewArrayExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NewArrayInit and the Expressions property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

type or initializers is null.-or-An element of initializers is null.

System.InvalidOperationException

The System.Linq.Expressions.ExpressionSlim.Type property of an element of initializers represents a type that is not assignable to the type that type represents.

NewArrayInit(TypeSlim, ExpressionSlim[])

Creates a NewArrayExpressionSlim that represents creating a one-dimensional array and initializing it from a list of elements.

Declaration
public NewArrayExpressionSlim NewArrayInit(TypeSlim type, ExpressionSlim[] initializers)
Parameters
Type Name Description
TypeSlim type

A TypeSlim that represents the element type of the array.

ExpressionSlim[] initializers

An array of ExpressionSlim objects to use to populate the Expressions collection.

Returns
Type Description
NewArrayExpressionSlim

A NewArrayExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NewArrayInit and the Expressions property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

type or initializers is null.-or-An element of initializers is null.

System.InvalidOperationException

The System.Linq.Expressions.ExpressionSlim.Type property of an element of initializers represents a type that is not assignable to the type type.

Not(ExpressionSlim)

Creates a UnaryExpressionSlim that represents a bitwise complement operation.

Declaration
public UnaryExpressionSlim Not(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Not and the Operand property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.InvalidOperationException

The unary not operator is not defined for expression.Type.

Not(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents a bitwise complement operation. The implementing method can be specified.

Declaration
public UnaryExpressionSlim Not(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Not and the Operand and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly one argument.

System.InvalidOperationException

method is null and the unary not operator is not defined for expression.Type.-or- expression.Type (or its corresponding non-nullable type if it is a nullable value type) is not assignable to the argument type of the method represented by method.

NotEqual(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an inequality comparison.

Declaration
public BinaryExpressionSlim NotEqual(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NotEqual and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The inequality operator is not defined for left.Type and right.Type.

NotEqual(ExpressionSlim, ExpressionSlim, Boolean, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an inequality comparison.

Declaration
public BinaryExpressionSlim NotEqual(ExpressionSlim left, ExpressionSlim right, bool liftToNull, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

System.Boolean liftToNull

true to set IsLiftedToNull to true; false to set IsLiftedToNull to false.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NotEqual and the Left, Right, IsLiftedToNull, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the inequality operator is not defined for left.Type and right.Type.

OnesComplement(ExpressionSlim)

Returns the expression representing the ones complement.

Declaration
public UnaryExpressionSlim OnesComplement(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim.

Returns
Type Description
UnaryExpressionSlim

An instance of UnaryExpressionSlim.

OnesComplement(ExpressionSlim, MethodInfoSlim)

Returns the expression representing the ones complement.

Declaration
public UnaryExpressionSlim OnesComplement(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

An instance of UnaryExpressionSlim.

Or(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise langword_csharp_OR operation.

Declaration
public BinaryExpressionSlim Or(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Or and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The bitwise langword_csharp_OR operator is not defined for left.Type and right.Type.

Or(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise langword_csharp_OR operation.

Declaration
public BinaryExpressionSlim Or(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Or and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the bitwise langword_csharp_OR operator is not defined for left.Type and right.Type.

OrAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise OR assignment operation.

Declaration
public BinaryExpressionSlim OrAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.OrAssign and the Left and Right properties set to the specified values.

OrAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise OR assignment operation.

Declaration
public BinaryExpressionSlim OrAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.OrAssign and the Left, Right, and Method properties set to the specified values.

OrAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise OR assignment operation.

Declaration
public BinaryExpressionSlim OrAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.OrAssign and the Left, Right, Method, and Conversion properties set to the specified values.

OrElse(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a conditional langword_csharp_OR operation that evaluates the second operand only if the first operand evaluates to false.

Declaration
public BinaryExpressionSlim OrElse(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.OrElse and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The bitwise langword_csharp_OR operator is not defined for left.Type and right.Type.-or- left.Type and right.Type are not the same Boolean type.

OrElse(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a conditional langword_csharp_OR operation that evaluates the second operand only if the first operand evaluates to false.

Declaration
public BinaryExpressionSlim OrElse(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.OrElse and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the bitwise langword_csharp_OR operator is not defined for left.Type and right.Type.-or- method is null and left.Type and right.Type are not the same Boolean type.

Parameter(TypeSlim)

Creates a ParameterExpressionSlim node that can be used to identify a parameter or a variable in an expression tree.

Declaration
public ParameterExpressionSlim Parameter(TypeSlim type)
Parameters
Type Name Description
TypeSlim type

The type of the parameter or variable.

Returns
Type Description
ParameterExpressionSlim

A ParameterExpressionSlim node with the specified name and type.

Parameter(TypeSlim, String)

Creates a ParameterExpressionSlim node that can be used to identify a parameter or a variable in an expression tree.

Declaration
public ParameterExpressionSlim Parameter(TypeSlim type, string name)
Parameters
Type Name Description
TypeSlim type

The type of the parameter or variable.

System.String name

The name of the parameter or variable, used for debugging or printing purpose only.

Returns
Type Description
ParameterExpressionSlim

A ParameterExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Parameter and the System.Linq.Expressions.ExpressionSlim.Type and Name properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

type is null.

PostDecrementAssign(ExpressionSlim)

Creates a UnaryExpressionSlim that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression.

Declaration
public UnaryExpressionSlim PostDecrementAssign(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to apply the operations on.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the resultant expression.

PostDecrementAssign(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression.

Declaration
public UnaryExpressionSlim PostDecrementAssign(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to apply the operations on.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the resultant expression.

PostIncrementAssign(ExpressionSlim)

Creates a UnaryExpressionSlim that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression.

Declaration
public UnaryExpressionSlim PostIncrementAssign(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to apply the operations on.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the resultant expression.

PostIncrementAssign(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression.

Declaration
public UnaryExpressionSlim PostIncrementAssign(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to apply the operations on.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the resultant expression.

Power(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents raising a number to a power.

Declaration
public BinaryExpressionSlim Power(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Power and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The exponentiation operator is not defined for left.Type and right.Type.-or- left.Type and/or right.Type are not System.Double.

Power(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents raising a number to a power.

Declaration
public BinaryExpressionSlim Power(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Power and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the exponentiation operator is not defined for left.Type and right.Type.-or- method is null and left.Type and/or right.Type are not System.Double.

PowerAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents raising an expression to a power and assigning the result back to the expression.

Declaration
public BinaryExpressionSlim PowerAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.PowerAssign and the Left and Right properties set to the specified values.

PowerAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents raising an expression to a power and assigning the result back to the expression.

Declaration
public BinaryExpressionSlim PowerAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.PowerAssign and the Left, Right, and Method properties set to the specified values.

PowerAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents raising an expression to a power and assigning the result back to the expression.

Declaration
public BinaryExpressionSlim PowerAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.PowerAssign and the Left, Right, Method, and Conversion properties set to the specified values.

PreDecrementAssign(ExpressionSlim)

Creates a UnaryExpressionSlim that decrements the expression by 1 and assigns the result back to the expression.

Declaration
public UnaryExpressionSlim PreDecrementAssign(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to apply the operations on.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the resultant expression.

PreDecrementAssign(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that decrements the expression by 1 and assigns the result back to the expression.

Declaration
public UnaryExpressionSlim PreDecrementAssign(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to apply the operations on.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the resultant expression.

PreIncrementAssign(ExpressionSlim)

Creates a UnaryExpressionSlim that increments the expression by 1 and assigns the result back to the expression.

Declaration
public UnaryExpressionSlim PreIncrementAssign(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to apply the operations on.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the resultant expression.

PreIncrementAssign(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that increments the expression by 1 and assigns the result back to the expression.

Declaration
public UnaryExpressionSlim PreIncrementAssign(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to apply the operations on.

MethodInfoSlim method

A MethodInfoSlim that represents the implementing method.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the resultant expression.

Property(ExpressionSlim, PropertyInfoSlim)

Creates a MemberExpressionSlim that represents accessing a property.

Declaration
public MemberExpressionSlim Property(ExpressionSlim expression, PropertyInfoSlim property)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Expression property equal to. This can be null for static properties.

PropertyInfoSlim property

The PropertyInfoSlim to set the Member property equal to.

Returns
Type Description
MemberExpressionSlim

A MemberExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.MemberAccess and the Expression and Member properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

property is null.-or-The property that property represents is not static (langword_csharp_Shared in Visual Basic) and expression is null.

System.ArgumentException

expression.Type is not assignable to the declaring type of the property that property represents.

Property(ExpressionSlim, PropertyInfoSlim, IEnumerable<ExpressionSlim>)

Creates an IndexExpressionSlim representing the access to an indexed property.

Declaration
public IndexExpressionSlim Property(ExpressionSlim instance, PropertyInfoSlim indexer, IEnumerable<ExpressionSlim> arguments)
Parameters
Type Name Description
ExpressionSlim instance

The object to which the property belongs. If the property is static/shared, it must be null.

PropertyInfoSlim indexer

The PropertyInfoSlim that represents the property to index.

System.Collections.Generic.IEnumerable<ExpressionSlim> arguments

An System.Collections.Generic.IEnumerable<> of ExpressionSlim objects that are used to index the property.

Returns
Type Description
IndexExpressionSlim

The created IndexExpressionSlim.

Property(ExpressionSlim, PropertyInfoSlim, ExpressionSlim[])

Creates an IndexExpressionSlim representing the access to an indexed property.

Declaration
public IndexExpressionSlim Property(ExpressionSlim instance, PropertyInfoSlim indexer, ExpressionSlim[] arguments)
Parameters
Type Name Description
ExpressionSlim instance

The object to which the property belongs. If the property is static/shared, it must be null.

PropertyInfoSlim indexer

The PropertyInfoSlim that represents the property to index.

ExpressionSlim[] arguments

An array of ExpressionSlim objects that are used to index the property.

Returns
Type Description
IndexExpressionSlim

The created IndexExpressionSlim.

Quote(ExpressionSlim)

Creates a UnaryExpressionSlim that represents an expression that has a constant value of type ExpressionSlim.

Declaration
public UnaryExpressionSlim Quote(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Quote and the Operand property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

ReferenceEqual(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a reference equality comparison.

Declaration
public BinaryExpressionSlim ReferenceEqual(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Equal and the Left and Right properties set to the specified values.

ReferenceNotEqual(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a reference inequality comparison.

Declaration
public BinaryExpressionSlim ReferenceNotEqual(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.NotEqual and the Left and Right properties set to the specified values.

Rethrow()

Creates a UnaryExpressionSlim that represents a rethrowing of an exception.

Declaration
public UnaryExpressionSlim Rethrow()
Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents a rethrowing of an exception.

Rethrow(TypeSlim)

Creates a UnaryExpressionSlim that represents a rethrowing of an exception with a given type.

Declaration
public UnaryExpressionSlim Rethrow(TypeSlim type)
Parameters
Type Name Description
TypeSlim type

The new TypeSlim of the expression.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents a rethrowing of an exception.

Return(LabelTargetSlim)

Creates a GotoExpressionSlim representing a return statement.

Declaration
public GotoExpressionSlim Return(LabelTargetSlim target)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Return, the Target property set to target, and a null value to be passed to the target label upon jumping.

Return(LabelTargetSlim, ExpressionSlim)

Creates a GotoExpressionSlim representing a return statement. The value passed to the label upon jumping can be specified.

Declaration
public GotoExpressionSlim Return(LabelTargetSlim target, ExpressionSlim value)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

ExpressionSlim value

The value that will be passed to the associated label upon jumping.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Continue, the Target property set to target, and value to be passed to the target label upon jumping.

Return(LabelTargetSlim, ExpressionSlim, TypeSlim)

Creates a GotoExpressionSlim representing a return statement with the specified type. The value passed to the label upon jumping can be specified.

Declaration
public GotoExpressionSlim Return(LabelTargetSlim target, ExpressionSlim value, TypeSlim type)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

ExpressionSlim value

The value that will be passed to the associated label upon jumping.

TypeSlim type

An TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Continue, the Target property set to target, the System.Linq.Expressions.ExpressionSlim.Type property set to type, and value to be passed to the target label upon jumping.

Return(LabelTargetSlim, TypeSlim)

Creates a GotoExpressionSlim representing a return statement with the specified type.

Declaration
public GotoExpressionSlim Return(LabelTargetSlim target, TypeSlim type)
Parameters
Type Name Description
LabelTargetSlim target

The LabelTargetSlim that the GotoExpressionSlim will jump to.

TypeSlim type

An TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
GotoExpressionSlim

A GotoExpressionSlim with Kind equal to Return, the Target property set to target, the System.Linq.Expressions.ExpressionSlim.Type property set to type, and a null value to be passed to the target label upon jumping.

RightShift(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise right-shift operation.

Declaration
public BinaryExpressionSlim RightShift(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.RightShift and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The right-shift operator is not defined for left.Type and right.Type.

RightShift(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise right-shift operation.

Declaration
public BinaryExpressionSlim RightShift(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.RightShift and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the right-shift operator is not defined for left.Type and right.Type.

RightShiftAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise right-shift assignment operation.

Declaration
public BinaryExpressionSlim RightShiftAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.RightShiftAssign and the Left and Right properties set to the specified values.

RightShiftAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a bitwise right-shift assignment operation.

Declaration
public BinaryExpressionSlim RightShiftAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.RightShiftAssign and the Left, Right, and Method properties set to the specified values.

RightShiftAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a bitwise right-shift assignment operation.

Declaration
public BinaryExpressionSlim RightShiftAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.RightShiftAssign and the Left, Right, Method, and Conversion properties set to the specified values.

Subtract(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an arithmetic subtraction operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim Subtract(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Subtract and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The subtraction operator is not defined for left.Type and right.Type.

Subtract(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an arithmetic subtraction operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim Subtract(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.Subtract and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the subtraction operator is not defined for left.Type and right.Type.

SubtractAssign(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a subtraction assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim SubtractAssign(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.SubtractAssign and the Left and Right properties set to the specified values.

SubtractAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a subtraction assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim SubtractAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.SubtractAssign and the Left, Right, and Method properties set to the specified values.

SubtractAssign(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a subtraction assignment operation that does not have overflow checking.

Declaration
public BinaryExpressionSlim SubtractAssign(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.SubtractAssign and the Left, Right, Method, and Conversion properties set to the specified values.

SubtractAssignChecked(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents a subtraction assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim SubtractAssignChecked(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.SubtractAssignChecked and the Left and Right properties set to the specified values.

SubtractAssignChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents a subtraction assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim SubtractAssignChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.SubtractAssignChecked and the Left, Right, and Method properties set to the specified values.

SubtractAssignChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim, LambdaExpressionSlim)

Creates a BinaryExpressionSlim that represents a subtraction assignment operation that has overflow checking.

Declaration
public BinaryExpressionSlim SubtractAssignChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method, LambdaExpressionSlim conversion)
Parameters
Type Name Description
ExpressionSlim left

An ExpressionSlim to set the Left property equal to.

ExpressionSlim right

An ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

LambdaExpressionSlim conversion

A LambdaExpressionSlim to set the Conversion property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.SubtractAssignChecked and the Left, Right, Method, and Conversion properties set to the specified values.

SubtractChecked(ExpressionSlim, ExpressionSlim)

Creates a BinaryExpressionSlim that represents an arithmetic subtraction operation that has overflow checking.

Declaration
public BinaryExpressionSlim SubtractChecked(ExpressionSlim left, ExpressionSlim right)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.SubtractChecked and the Left and Right properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.InvalidOperationException

The subtraction operator is not defined for left.Type and right.Type.

SubtractChecked(ExpressionSlim, ExpressionSlim, MethodInfoSlim)

Creates a BinaryExpressionSlim that represents an arithmetic subtraction operation that has overflow checking.

Declaration
public BinaryExpressionSlim SubtractChecked(ExpressionSlim left, ExpressionSlim right, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim left

A ExpressionSlim to set the Left property equal to.

ExpressionSlim right

A ExpressionSlim to set the Right property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
BinaryExpressionSlim

A BinaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.SubtractChecked and the Left, Right, and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

left or right is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly two arguments.

System.InvalidOperationException

method is null and the subtraction operator is not defined for left.Type and right.Type.

Switch(ExpressionSlim, ExpressionSlim, SwitchCaseSlim[])

Creates a SwitchExpressionSlim that represents a langword_csharp_switch statement that has a default case.

Declaration
public SwitchExpressionSlim Switch(ExpressionSlim switchValue, ExpressionSlim defaultBody, SwitchCaseSlim[] cases)
Parameters
Type Name Description
ExpressionSlim switchValue

The value to be tested against each case.

ExpressionSlim defaultBody

The result of the switch if switchValue does not match any of the cases.

SwitchCaseSlim[] cases

The set of cases for this switch expression.

Returns
Type Description
SwitchExpressionSlim

The created SwitchExpressionSlim.

Switch(ExpressionSlim, ExpressionSlim, MethodInfoSlim, IEnumerable<SwitchCaseSlim>)

Creates a SwitchExpressionSlim that represents a langword_csharp_switch statement that has a default case.

Declaration
public SwitchExpressionSlim Switch(ExpressionSlim switchValue, ExpressionSlim defaultBody, MethodInfoSlim comparison, IEnumerable<SwitchCaseSlim> cases)
Parameters
Type Name Description
ExpressionSlim switchValue

The value to be tested against each case.

ExpressionSlim defaultBody

The result of the switch if switchValue does not match any of the cases.

MethodInfoSlim comparison

The equality comparison method to use.

System.Collections.Generic.IEnumerable<SwitchCaseSlim> cases

The set of cases for this switch expression.

Returns
Type Description
SwitchExpressionSlim

The created SwitchExpressionSlim.

Switch(ExpressionSlim, ExpressionSlim, MethodInfoSlim, SwitchCaseSlim[])

Creates a SwitchExpressionSlim that represents a langword_csharp_switch statement that has a default case.

Declaration
public SwitchExpressionSlim Switch(ExpressionSlim switchValue, ExpressionSlim defaultBody, MethodInfoSlim comparison, SwitchCaseSlim[] cases)
Parameters
Type Name Description
ExpressionSlim switchValue

The value to be tested against each case.

ExpressionSlim defaultBody

The result of the switch if switchValue does not match any of the cases.

MethodInfoSlim comparison

The equality comparison method to use.

SwitchCaseSlim[] cases

The set of cases for this switch expression.

Returns
Type Description
SwitchExpressionSlim

The created SwitchExpressionSlim.

Switch(ExpressionSlim, SwitchCaseSlim[])

Creates a SwitchExpressionSlim that represents a langword_csharp_switch statement without a default case.

Declaration
public SwitchExpressionSlim Switch(ExpressionSlim switchValue, SwitchCaseSlim[] cases)
Parameters
Type Name Description
ExpressionSlim switchValue

The value to be tested against each case.

SwitchCaseSlim[] cases

The set of cases for this switch expression.

Returns
Type Description
SwitchExpressionSlim

The created SwitchExpressionSlim.

Switch(TypeSlim, ExpressionSlim, ExpressionSlim, MethodInfoSlim, IEnumerable<SwitchCaseSlim>)

Creates a SwitchExpressionSlim that represents a langword_csharp_switch statement that has a default case.

Declaration
public SwitchExpressionSlim Switch(TypeSlim type, ExpressionSlim switchValue, ExpressionSlim defaultBody, MethodInfoSlim comparison, IEnumerable<SwitchCaseSlim> cases)
Parameters
Type Name Description
TypeSlim type

The result type of the switch.

ExpressionSlim switchValue

The value to be tested against each case.

ExpressionSlim defaultBody

The result of the switch if switchValue does not match any of the cases.

MethodInfoSlim comparison

The equality comparison method to use.

System.Collections.Generic.IEnumerable<SwitchCaseSlim> cases

The set of cases for this switch expression.

Returns
Type Description
SwitchExpressionSlim

The created SwitchExpressionSlim.

Switch(TypeSlim, ExpressionSlim, ExpressionSlim, MethodInfoSlim, SwitchCaseSlim[])

Creates a SwitchExpressionSlim that represents a langword_csharp_switch statement that has a default case..

Declaration
public SwitchExpressionSlim Switch(TypeSlim type, ExpressionSlim switchValue, ExpressionSlim defaultBody, MethodInfoSlim comparison, SwitchCaseSlim[] cases)
Parameters
Type Name Description
TypeSlim type

The result type of the switch.

ExpressionSlim switchValue

The value to be tested against each case.

ExpressionSlim defaultBody

The result of the switch if switchValue does not match any of the cases.

MethodInfoSlim comparison

The equality comparison method to use.

SwitchCaseSlim[] cases

The set of cases for this switch expression.

Returns
Type Description
SwitchExpressionSlim

The created SwitchExpressionSlim.

SwitchCase(ExpressionSlim, IEnumerable<ExpressionSlim>)

Creates a SwitchCaseSlim object to be used in a SwitchExpressionSlim object.

Declaration
public SwitchCaseSlim SwitchCase(ExpressionSlim body, IEnumerable<ExpressionSlim> testValues)
Parameters
Type Name Description
ExpressionSlim body

The body of the case.

System.Collections.Generic.IEnumerable<ExpressionSlim> testValues

The test values of the case.

Returns
Type Description
SwitchCaseSlim

The created SwitchCaseSlim.

SwitchCase(ExpressionSlim, ExpressionSlim[])

Creates a SwitchCaseSlim for use in a SwitchExpressionSlim.

Declaration
public SwitchCaseSlim SwitchCase(ExpressionSlim body, ExpressionSlim[] testValues)
Parameters
Type Name Description
ExpressionSlim body

The body of the case.

ExpressionSlim[] testValues

The test values of the case.

Returns
Type Description
SwitchCaseSlim

The created SwitchCaseSlim.

Throw(ExpressionSlim)

Creates a UnaryExpressionSlim that represents a throwing of an exception.

Declaration
public UnaryExpressionSlim Throw(ExpressionSlim value)
Parameters
Type Name Description
ExpressionSlim value

An ExpressionSlim.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the exception.

Throw(ExpressionSlim, TypeSlim)

Creates a UnaryExpressionSlim that represents a throwing of an exception with a given type.

Declaration
public UnaryExpressionSlim Throw(ExpressionSlim value, TypeSlim type)
Parameters
Type Name Description
ExpressionSlim value

An ExpressionSlim.

TypeSlim type

The new TypeSlim of the expression.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that represents the exception.

TryCatch(ExpressionSlim, CatchBlockSlim[])

Creates a TryExpressionSlim representing a try block with any number of catch statements and neither a fault nor finally block.

Declaration
public TryExpressionSlim TryCatch(ExpressionSlim body, CatchBlockSlim[] handlers)
Parameters
Type Name Description
ExpressionSlim body

The body of the try block.

CatchBlockSlim[] handlers

The array of zero or more CatchBlockSlim expressions representing the catch statements to be associated with the try block.

Returns
Type Description
TryExpressionSlim

The created TryExpressionSlim.

TryCatchFinally(ExpressionSlim, ExpressionSlim, CatchBlockSlim[])

Creates a TryExpressionSlim representing a try block with any number of catch statements and a finally block.

Declaration
public TryExpressionSlim TryCatchFinally(ExpressionSlim body, ExpressionSlim finally, CatchBlockSlim[] handlers)
Parameters
Type Name Description
ExpressionSlim body

The body of the try block.

ExpressionSlim finally

The body of the finally block.

CatchBlockSlim[] handlers

The array of zero or more CatchBlockSlim expressions representing the catch statements to be associated with the try block.

Returns
Type Description
TryExpressionSlim

The created TryExpressionSlim.

TryFault(ExpressionSlim, ExpressionSlim)

Creates a TryExpressionSlim representing a try block with a fault block and no catch statements.

Declaration
public TryExpressionSlim TryFault(ExpressionSlim body, ExpressionSlim fault)
Parameters
Type Name Description
ExpressionSlim body

The body of the try block.

ExpressionSlim fault

The body of the fault block.

Returns
Type Description
TryExpressionSlim

The created TryExpressionSlim.

TryFinally(ExpressionSlim, ExpressionSlim)

Creates a TryExpressionSlim representing a try block with a finally block and no catch statements.

Declaration
public TryExpressionSlim TryFinally(ExpressionSlim body, ExpressionSlim finally)
Parameters
Type Name Description
ExpressionSlim body

The body of the try block.

ExpressionSlim finally

The body of the finally block.

Returns
Type Description
TryExpressionSlim

The created TryExpressionSlim.

TypeAs(ExpressionSlim, TypeSlim)

Creates a UnaryExpressionSlim that represents an explicit reference or boxing conversion where null is supplied if the conversion fails.

Declaration
public UnaryExpressionSlim TypeAs(ExpressionSlim expression, TypeSlim type)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

TypeSlim type

A TypeSlim to set the System.Linq.Expressions.ExpressionSlim.Type property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.TypeAs and the Operand and System.Linq.Expressions.ExpressionSlim.Type properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression or type is null.

TypeEqual(ExpressionSlim, TypeSlim)

Creates a TypeBinaryExpressionSlim that compares run-time type identity.

Declaration
public TypeBinaryExpressionSlim TypeEqual(ExpressionSlim expression, TypeSlim type)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the ExpressionSlim property equal to.

TypeSlim type

A System.Linq.Expressions.ExpressionSlim.Type to set the TypeOperand property equal to.

Returns
Type Description
TypeBinaryExpressionSlim

A TypeBinaryExpressionSlim for which the NodeType property is equal to System.Linq.Expressions.Expression.TypeEqual(System.Linq.Expressions.Expression,System.Type) and for which the ExpressionSlim and TypeOperand properties are set to the specified values.

TypeIs(ExpressionSlim, TypeSlim)

Creates a TypeBinaryExpressionSlim.

Declaration
public TypeBinaryExpressionSlim TypeIs(ExpressionSlim expression, TypeSlim type)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Expression property equal to.

TypeSlim type

A System.Linq.Expressions.ExpressionSlim.Type to set the TypeOperand property equal to.

Returns
Type Description
TypeBinaryExpressionSlim

A TypeBinaryExpressionSlim for which the NodeType property is equal to System.Linq.Expressions.ExpressionType.TypeIs and for which the Expression and TypeOperand properties are set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression or type is null.

UnaryPlus(ExpressionSlim)

Creates a UnaryExpressionSlim that represents a unary plus operation.

Declaration
public UnaryExpressionSlim UnaryPlus(ExpressionSlim expression)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.UnaryPlus and the Operand property set to the specified value.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.InvalidOperationException

The unary plus operator is not defined for expression.Type.

UnaryPlus(ExpressionSlim, MethodInfoSlim)

Creates a UnaryExpressionSlim that represents a unary plus operation.

Declaration
public UnaryExpressionSlim UnaryPlus(ExpressionSlim expression, MethodInfoSlim method)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to set the Operand property equal to.

MethodInfoSlim method

A MethodInfoSlim to set the Method property equal to.

Returns
Type Description
UnaryExpressionSlim

A UnaryExpressionSlim that has the NodeType property equal to System.Linq.Expressions.ExpressionType.UnaryPlus and the Operand and Method properties set to the specified values.

Exceptions
Type Condition
System.ArgumentNullException

expression is null.

System.ArgumentException

method is not null and the method it represents returns langword_csharp_void, is not static (langword_csharp_Shared in Visual Basic), or does not take exactly one argument.

System.InvalidOperationException

method is null and the unary plus operator is not defined for expression.Type.-or- expression.Type (or its corresponding non-nullable type if it is a nullable value type) is not assignable to the argument type of the method represented by method.

Unbox(ExpressionSlim, TypeSlim)

Creates a UnaryExpressionSlim that represents an explicit unboxing.

Declaration
public UnaryExpressionSlim Unbox(ExpressionSlim expression, TypeSlim type)
Parameters
Type Name Description
ExpressionSlim expression

An ExpressionSlim to unbox.

TypeSlim type

The new TypeSlim of the expression.

Returns
Type Description
UnaryExpressionSlim

An instance of UnaryExpressionSlim.

Implements

IExpressionSlimFactory
In This Article
Back to top Generated by DocFX