Show / Hide Table of Contents

Class ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>

Expression visitor to rewrite an expression tree into a target type.

Inheritance
System.Object
ExpressionVisitor<TExpression>
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>
ExpressionVisitorNarrow<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>
Inherited Members
ExpressionVisitor<TExpression>.Visit(Expression)
ExpressionVisitor<TExpression>.Visit<T>(ReadOnlyCollection<T>)
ExpressionVisitor<TExpression>.VisitAndConvert<TStronglyTypedResult>(Expression)
ExpressionVisitor<TExpression>.VisitAndConvert<T, TStronglyTypedResult>(ReadOnlyCollection<T>)
ExpressionVisitor<TExpression>.VisitIfNotNull<T, TResult>(T, Func<T, TResult>)
Namespace: System.Linq.CompilerServices
Assembly: Nuqleon.Linq.CompilerServices.dll
Syntax
public abstract class ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget> : ExpressionVisitor<TExpression> where TLambdaExpression : TExpression where TParameterExpression : TExpression where TNewExpression : TExpression where TMemberAssignment : TMemberBinding where TMemberListBinding : TMemberBinding where TMemberMemberBinding : TMemberBinding
Type Parameters
Name Description
TExpression

Target type for expressions.

TLambdaExpression

Target type for lambda expressions. This type has to derive from TExpression.

TParameterExpression

Target type for parameter expressions. This type has to derive from TExpression.

TNewExpression

Target type for new expressions. This type has to derive from TExpression.

TElementInit

Target type for element initializers.

TMemberBinding

Target type for member bindings.

TMemberAssignment

Target type for member assignments. This type has to derive from TMemberBinding.

TMemberListBinding

Target type for member list bindings. This type has to derive from TMemberBinding.

TMemberMemberBinding

Target type for member member bindings. This type has to derive from TMemberBinding.

TCatchBlock

Target type for catch blocks.

TSwitchCase

Target type for switch cases.

TLabelTarget

Target type for label targets.

Constructors

ExpressionVisitor()

Declaration
protected ExpressionVisitor()

Methods

MakeBinary(BinaryExpression, TExpression, TLambdaExpression, TExpression)

Makes an expression representing a BinaryExpression with the given children.

Declaration
protected abstract TExpression MakeBinary(BinaryExpression node, TExpression left, TLambdaExpression conversion, TExpression right)
Parameters
Type Name Description
System.Linq.Expressions.BinaryExpression node

Original expression.

TExpression left

Left expression.

TLambdaExpression conversion

Conversion expression.

TExpression right

Right expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeBlock(BlockExpression, ReadOnlyCollection<TParameterExpression>, ReadOnlyCollection<TExpression>)

Makes an expression representing a BlockExpression with the given children.

Declaration
protected abstract TExpression MakeBlock(BlockExpression node, ReadOnlyCollection<TParameterExpression> variables, ReadOnlyCollection<TExpression> expressions)
Parameters
Type Name Description
System.Linq.Expressions.BlockExpression node

Original expression.

System.Collections.ObjectModel.ReadOnlyCollection<TParameterExpression> variables

Variables in the block.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> expressions

Expressions in the block.

Returns
Type Description
TExpression

Representation of the original expression.

MakeCatchBlock(CatchBlock, TParameterExpression, TExpression, TExpression)

Makes a catch block object representing a CatchBlock with the given children.

Declaration
protected abstract TCatchBlock MakeCatchBlock(CatchBlock node, TParameterExpression variable, TExpression body, TExpression filter)
Parameters
Type Name Description
System.Linq.Expressions.CatchBlock node

Original catch block.

TParameterExpression variable

Variable expression.

TExpression body

Body expression.

TExpression filter

Filter expression.

Returns
Type Description
TCatchBlock

Representation of the original catch block.

MakeConditional(ConditionalExpression, TExpression, TExpression, TExpression)

Makes an expression representing a ConditionalExpression with the given children.

Declaration
protected abstract TExpression MakeConditional(ConditionalExpression node, TExpression test, TExpression ifTrue, TExpression ifFalse)
Parameters
Type Name Description
System.Linq.Expressions.ConditionalExpression node

Original expression.

TExpression test

Test expression.

TExpression ifTrue

True branch expression.

TExpression ifFalse

False branch expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeConstant(ConstantExpression)

Makes an expression representing a ConstantExpression.

Declaration
protected abstract TExpression MakeConstant(ConstantExpression node)
Parameters
Type Name Description
System.Linq.Expressions.ConstantExpression node

Original expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeDebugInfo(DebugInfoExpression)

Makes an expression representing a DebugInfoExpression.

Declaration
protected abstract TExpression MakeDebugInfo(DebugInfoExpression node)
Parameters
Type Name Description
System.Linq.Expressions.DebugInfoExpression node

Original expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeDefault(DefaultExpression)

Makes an expression representing a DefaultExpression.

Declaration
protected abstract TExpression MakeDefault(DefaultExpression node)
Parameters
Type Name Description
System.Linq.Expressions.DefaultExpression node

Original expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeDynamic(DynamicExpression, ReadOnlyCollection<TExpression>)

Makes an expression representing a DynamicExpression with the given children.

Declaration
protected abstract TExpression MakeDynamic(DynamicExpression node, ReadOnlyCollection<TExpression> arguments)
Parameters
Type Name Description
System.Linq.Expressions.DynamicExpression node

Original expression.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> arguments

Argument expressions.

Returns
Type Description
TExpression

Representation of the original expression.

MakeElementInit(ElementInit, ReadOnlyCollection<TExpression>)

Makes an element initializer object representing a ElementInit object with the given children.

Declaration
protected abstract TElementInit MakeElementInit(ElementInit node, ReadOnlyCollection<TExpression> arguments)
Parameters
Type Name Description
System.Linq.Expressions.ElementInit node

Original element initializer.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> arguments

Argument expressions.

Returns
Type Description
TElementInit

Representation of the original element initializer.

MakeGoto(GotoExpression, TLabelTarget, TExpression)

Makes an expression representing a GotoExpression with the given children.

Declaration
protected abstract TExpression MakeGoto(GotoExpression node, TLabelTarget target, TExpression value)
Parameters
Type Name Description
System.Linq.Expressions.GotoExpression node

Original expression.

TLabelTarget target

Target label.

TExpression value

Value expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeIndex(IndexExpression, TExpression, ReadOnlyCollection<TExpression>)

Makes an expression representing a IndexExpression with the given children.

Declaration
protected abstract TExpression MakeIndex(IndexExpression node, TExpression object, ReadOnlyCollection<TExpression> arguments)
Parameters
Type Name Description
System.Linq.Expressions.IndexExpression node

Original expression.

TExpression object

Object expression.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> arguments

Argument expressions.

Returns
Type Description
TExpression

Representation of the original expression.

MakeInvocation(InvocationExpression, TExpression, ReadOnlyCollection<TExpression>)

Makes an expression representing a InvocationExpression with the given children.

Declaration
protected abstract TExpression MakeInvocation(InvocationExpression node, TExpression expression, ReadOnlyCollection<TExpression> arguments)
Parameters
Type Name Description
System.Linq.Expressions.InvocationExpression node

Original expression.

TExpression expression

Function expression.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> arguments

Argument expressions.

Returns
Type Description
TExpression

Representation of the original expression.

MakeLabel(LabelExpression, TLabelTarget, TExpression)

Makes an expression representing a LabelExpression with the given children.

Declaration
protected abstract TExpression MakeLabel(LabelExpression node, TLabelTarget target, TExpression defaultValue)
Parameters
Type Name Description
System.Linq.Expressions.LabelExpression node

Original expression.

TLabelTarget target

Target label.

TExpression defaultValue

Default value expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeLabelTarget(LabelTarget)

Makes a label target object representing a LabelTarget.

Declaration
protected abstract TLabelTarget MakeLabelTarget(LabelTarget node)
Parameters
Type Name Description
System.Linq.Expressions.LabelTarget node

Original label target.

Returns
Type Description
TLabelTarget

Representation of the label target.

MakeLambda<T>(Expression<T>, TExpression, ReadOnlyCollection<TParameterExpression>)

Makes an expression representing a LambdaExpression with the given children.

Declaration
protected abstract TLambdaExpression MakeLambda<T>(Expression<T> node, TExpression body, ReadOnlyCollection<TParameterExpression> parameters)
Parameters
Type Name Description
System.Linq.Expressions.Expression<T> node

Original expression.

TExpression body

Body expression.

System.Collections.ObjectModel.ReadOnlyCollection<TParameterExpression> parameters

Parameter expressions.

Returns
Type Description
TLambdaExpression

Representation of the original expression.

Type Parameters
Name Description
T

The type of the delegate.

MakeListInit(ListInitExpression, TNewExpression, ReadOnlyCollection<TElementInit>)

Makes an expression representing a ListInitExpression with the given children.

Declaration
protected abstract TExpression MakeListInit(ListInitExpression node, TNewExpression newExpression, ReadOnlyCollection<TElementInit> initializers)
Parameters
Type Name Description
System.Linq.Expressions.ListInitExpression node

Original expression.

TNewExpression newExpression

New expression.

System.Collections.ObjectModel.ReadOnlyCollection<TElementInit> initializers

Element initializers.

Returns
Type Description
TExpression

Representation of the original expression.

MakeLoop(LoopExpression, TExpression, TLabelTarget, TLabelTarget)

Makes an expression representing a LoopExpression with the given children.

Declaration
protected abstract TExpression MakeLoop(LoopExpression node, TExpression body, TLabelTarget breakLabel, TLabelTarget continueLabel)
Parameters
Type Name Description
System.Linq.Expressions.LoopExpression node

Original expression.

TExpression body

Body expression.

TLabelTarget breakLabel

Break label.

TLabelTarget continueLabel

Continue label.

Returns
Type Description
TExpression

Representation of the original expression.

MakeMember(MemberExpression, TExpression)

Makes an expression representing a MemberExpression with the given children.

Declaration
protected abstract TExpression MakeMember(MemberExpression node, TExpression expression)
Parameters
Type Name Description
System.Linq.Expressions.MemberExpression node

Original expression.

TExpression expression

Object expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeMemberAssignment(MemberAssignment, TExpression)

Makes a member binding object representing a MemberAssignment with the given children.

Declaration
protected abstract TMemberAssignment MakeMemberAssignment(MemberAssignment node, TExpression expression)
Parameters
Type Name Description
System.Linq.Expressions.MemberAssignment node

Original member assignment.

TExpression expression

Assigned expression.

Returns
Type Description
TMemberAssignment

Representation of the original member assignment.

MakeMemberInit(MemberInitExpression, TNewExpression, ReadOnlyCollection<TMemberBinding>)

Makes an expression representing a MemberInitExpression with the given children.

Declaration
protected abstract TExpression MakeMemberInit(MemberInitExpression node, TNewExpression newExpression, ReadOnlyCollection<TMemberBinding> bindings)
Parameters
Type Name Description
System.Linq.Expressions.MemberInitExpression node

Original expression.

TNewExpression newExpression

New expression.

System.Collections.ObjectModel.ReadOnlyCollection<TMemberBinding> bindings

Member bindings.

Returns
Type Description
TExpression

Representation of the original expression.

MakeMemberListBinding(MemberListBinding, ReadOnlyCollection<TElementInit>)

Makes a member binding object representing a MemberListBinding with the given children.

Declaration
protected abstract TMemberListBinding MakeMemberListBinding(MemberListBinding node, ReadOnlyCollection<TElementInit> initializers)
Parameters
Type Name Description
System.Linq.Expressions.MemberListBinding node

Original member list binding.

System.Collections.ObjectModel.ReadOnlyCollection<TElementInit> initializers

Element initializers.

Returns
Type Description
TMemberListBinding

Representation of the original member list binding.

MakeMemberMemberBinding(MemberMemberBinding, ReadOnlyCollection<TMemberBinding>)

Makes a member binding object representing a MemberMemberBinding with the given children.

Declaration
protected abstract TMemberMemberBinding MakeMemberMemberBinding(MemberMemberBinding node, ReadOnlyCollection<TMemberBinding> bindings)
Parameters
Type Name Description
System.Linq.Expressions.MemberMemberBinding node

Original member member binding.

System.Collections.ObjectModel.ReadOnlyCollection<TMemberBinding> bindings

Member bindings.

Returns
Type Description
TMemberMemberBinding

Representation of the original member member binding.

MakeMethodCall(MethodCallExpression, TExpression, ReadOnlyCollection<TExpression>)

Makes an expression representing a MethodCallExpression with the given children.

Declaration
protected abstract TExpression MakeMethodCall(MethodCallExpression node, TExpression object, ReadOnlyCollection<TExpression> arguments)
Parameters
Type Name Description
System.Linq.Expressions.MethodCallExpression node

Original expression.

TExpression object

Object expression.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> arguments

Argument expressions.

Returns
Type Description
TExpression

Representation of the original expression.

MakeNew(NewExpression, ReadOnlyCollection<TExpression>)

Makes an expression representing a NewExpression with the given children.

Declaration
protected abstract TExpression MakeNew(NewExpression node, ReadOnlyCollection<TExpression> arguments)
Parameters
Type Name Description
System.Linq.Expressions.NewExpression node

Original expression.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> arguments

Argument expressions.

Returns
Type Description
TExpression

Representation of the original expression.

MakeNewArray(NewArrayExpression, ReadOnlyCollection<TExpression>)

Makes an expression representing a NewArrayExpression with the given children.

Declaration
protected abstract TExpression MakeNewArray(NewArrayExpression node, ReadOnlyCollection<TExpression> expressions)
Parameters
Type Name Description
System.Linq.Expressions.NewArrayExpression node

Original expression.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> expressions

Child expressions.

Returns
Type Description
TExpression

Representation of the original expression.

MakeParameter(ParameterExpression)

Makes an expression representing a ParameterExpression.

Declaration
protected abstract TParameterExpression MakeParameter(ParameterExpression node)
Parameters
Type Name Description
System.Linq.Expressions.ParameterExpression node

Original expression.

Returns
Type Description
TParameterExpression

Representation of the original expression.

MakeRuntimeVariables(RuntimeVariablesExpression, ReadOnlyCollection<TParameterExpression>)

Makes an expression representing a RuntimeVariablesExpression with the given children.

Declaration
protected abstract TExpression MakeRuntimeVariables(RuntimeVariablesExpression node, ReadOnlyCollection<TParameterExpression> variables)
Parameters
Type Name Description
System.Linq.Expressions.RuntimeVariablesExpression node

Original expression.

System.Collections.ObjectModel.ReadOnlyCollection<TParameterExpression> variables

Variable expressions.

Returns
Type Description
TExpression

Representation of the original expression.

MakeSwitch(SwitchExpression, TExpression, TExpression, ReadOnlyCollection<TSwitchCase>)

Makes an expression representing a SwitchExpression with the given children.

Declaration
protected abstract TExpression MakeSwitch(SwitchExpression node, TExpression switchValue, TExpression defaultBody, ReadOnlyCollection<TSwitchCase> cases)
Parameters
Type Name Description
System.Linq.Expressions.SwitchExpression node

Original expression.

TExpression switchValue

Switch value expression.

TExpression defaultBody

Default body expression.

System.Collections.ObjectModel.ReadOnlyCollection<TSwitchCase> cases

Switch cases.

Returns
Type Description
TExpression

Representation of the original expression.

MakeSwitchCase(SwitchCase, TExpression, ReadOnlyCollection<TExpression>)

Makes a switch case object representing a SwitchCase with the given children.

Declaration
protected abstract TSwitchCase MakeSwitchCase(SwitchCase node, TExpression body, ReadOnlyCollection<TExpression> testValues)
Parameters
Type Name Description
System.Linq.Expressions.SwitchCase node

Original switch case.

TExpression body

Body expression.

System.Collections.ObjectModel.ReadOnlyCollection<TExpression> testValues

Test value expressions.

Returns
Type Description
TSwitchCase

Representation of the original switch case.

MakeTry(TryExpression, TExpression, TExpression, TExpression, ReadOnlyCollection<TCatchBlock>)

Makes an expression representing a TryExpression with the given children.

Declaration
protected abstract TExpression MakeTry(TryExpression node, TExpression body, TExpression finally, TExpression fault, ReadOnlyCollection<TCatchBlock> handlers)
Parameters
Type Name Description
System.Linq.Expressions.TryExpression node

Original expression.

TExpression body

Body expression.

TExpression finally

Finally expression.

TExpression fault

Fault expression.

System.Collections.ObjectModel.ReadOnlyCollection<TCatchBlock> handlers

Catch handlers.

Returns
Type Description
TExpression

Representation of the original expression.

MakeTypeBinary(TypeBinaryExpression, TExpression)

Makes an expression representing a TypeBinaryExpression with the given children.

Declaration
protected abstract TExpression MakeTypeBinary(TypeBinaryExpression node, TExpression expression)
Parameters
Type Name Description
System.Linq.Expressions.TypeBinaryExpression node

Original expression.

TExpression expression

Child expression.

Returns
Type Description
TExpression

Representation of the original expression.

MakeUnary(UnaryExpression, TExpression)

Makes an expression representing a UnaryExpression with the given children.

Declaration
protected abstract TExpression MakeUnary(UnaryExpression node, TExpression operand)
Parameters
Type Name Description
System.Linq.Expressions.UnaryExpression node

Original expression.

TExpression operand

Operand expression.

Returns
Type Description
TExpression

Representation of the original expression.

VisitBinary(BinaryExpression)

Visits the children of the BinaryExpression.

Declaration
protected override TExpression VisitBinary(BinaryExpression node)
Parameters
Type Name Description
System.Linq.Expressions.BinaryExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitBinary(System.Linq.Expressions.BinaryExpression)

VisitBlock(BlockExpression)

Visits the children of the BlockExpression.

Declaration
protected override TExpression VisitBlock(BlockExpression node)
Parameters
Type Name Description
System.Linq.Expressions.BlockExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitBlock(System.Linq.Expressions.BlockExpression)

VisitCatchBlock(CatchBlock)

Visits the children of the CatchBlock.

Declaration
protected virtual TCatchBlock VisitCatchBlock(CatchBlock node)
Parameters
Type Name Description
System.Linq.Expressions.CatchBlock node

Catch block to visit.

Returns
Type Description
TCatchBlock

Result of visiting the catch block.

VisitConditional(ConditionalExpression)

Visits the children of the ConditionalExpression.

Declaration
protected override TExpression VisitConditional(ConditionalExpression node)
Parameters
Type Name Description
System.Linq.Expressions.ConditionalExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitConditional(System.Linq.Expressions.ConditionalExpression)

VisitConstant(ConstantExpression)

Visits the children of the ConstantExpression.

Declaration
protected override TExpression VisitConstant(ConstantExpression node)
Parameters
Type Name Description
System.Linq.Expressions.ConstantExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitConstant(System.Linq.Expressions.ConstantExpression)

VisitDebugInfo(DebugInfoExpression)

Visits the children of the DebugInfoExpression.

Declaration
protected override TExpression VisitDebugInfo(DebugInfoExpression node)
Parameters
Type Name Description
System.Linq.Expressions.DebugInfoExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression)

VisitDefault(DefaultExpression)

Visits the children of the DefaultExpression.

Declaration
protected override TExpression VisitDefault(DefaultExpression node)
Parameters
Type Name Description
System.Linq.Expressions.DefaultExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitDefault(System.Linq.Expressions.DefaultExpression)

VisitDynamic(DynamicExpression)

Visits the children of the DynamicExpression.

Declaration
protected override TExpression VisitDynamic(DynamicExpression node)
Parameters
Type Name Description
System.Linq.Expressions.DynamicExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitDynamic(System.Linq.Expressions.DynamicExpression)

VisitElementInit(ElementInit)

Visits the children of the ElementInit.

Declaration
protected virtual TElementInit VisitElementInit(ElementInit node)
Parameters
Type Name Description
System.Linq.Expressions.ElementInit node

Element initializer to visit.

Returns
Type Description
TElementInit

Result of visiting the element initializer.

VisitExtension(Expression)

Visits the children of the extension expression node.

Declaration
protected override TExpression VisitExtension(Expression node)
Parameters
Type Name Description
System.Linq.Expressions.Expression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitExtension(System.Linq.Expressions.Expression)

VisitGoto(GotoExpression)

Visits the children of the GotoExpression.

Declaration
protected override TExpression VisitGoto(GotoExpression node)
Parameters
Type Name Description
System.Linq.Expressions.GotoExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitGoto(System.Linq.Expressions.GotoExpression)

VisitIndex(IndexExpression)

Visits the children of the IndexExpression.

Declaration
protected override TExpression VisitIndex(IndexExpression node)
Parameters
Type Name Description
System.Linq.Expressions.IndexExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitIndex(System.Linq.Expressions.IndexExpression)

VisitInvocation(InvocationExpression)

Visits the children of the InvocationExpression.

Declaration
protected override TExpression VisitInvocation(InvocationExpression node)
Parameters
Type Name Description
System.Linq.Expressions.InvocationExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitInvocation(System.Linq.Expressions.InvocationExpression)

VisitLabel(LabelExpression)

Visits the children of the LabelExpression.

Declaration
protected override TExpression VisitLabel(LabelExpression node)
Parameters
Type Name Description
System.Linq.Expressions.LabelExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitLabel(System.Linq.Expressions.LabelExpression)

VisitLabelTarget(LabelTarget)

Visits the children of the LabelTarget.

Declaration
protected virtual TLabelTarget VisitLabelTarget(LabelTarget node)
Parameters
Type Name Description
System.Linq.Expressions.LabelTarget node

Label target to visit.

Returns
Type Description
TLabelTarget

Result of visiting the label target.

VisitLambda<T>(Expression<T>)

Visits the children of the LambdaExpression.

Declaration
protected override TExpression VisitLambda<T>(Expression<T> node)
Parameters
Type Name Description
System.Linq.Expressions.Expression<T> node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Type Parameters
Name Description
T

The type of the delegate.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitLambda<T>(System.Linq.Expressions.Expression<T>)

VisitListInit(ListInitExpression)

Visits the children of the ListInitExpression.

Declaration
protected override TExpression VisitListInit(ListInitExpression node)
Parameters
Type Name Description
System.Linq.Expressions.ListInitExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitListInit(System.Linq.Expressions.ListInitExpression)

VisitLoop(LoopExpression)

Visits the children of the LoopExpression.

Declaration
protected override TExpression VisitLoop(LoopExpression node)
Parameters
Type Name Description
System.Linq.Expressions.LoopExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitLoop(System.Linq.Expressions.LoopExpression)

VisitMember(MemberExpression)

Visits the children of the MemberExpression.

Declaration
protected override TExpression VisitMember(MemberExpression node)
Parameters
Type Name Description
System.Linq.Expressions.MemberExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitMember(System.Linq.Expressions.MemberExpression)

VisitMemberAssignment(MemberAssignment)

Visits the children of the MemberAssignment.

Declaration
protected virtual TMemberAssignment VisitMemberAssignment(MemberAssignment node)
Parameters
Type Name Description
System.Linq.Expressions.MemberAssignment node

Member assignment to visit.

Returns
Type Description
TMemberAssignment

Result of visiting the member assignment.

VisitMemberBinding(MemberBinding)

Visits the children of the MemberBinding.

Declaration
protected virtual TMemberBinding VisitMemberBinding(MemberBinding node)
Parameters
Type Name Description
System.Linq.Expressions.MemberBinding node

Member binding to visit.

Returns
Type Description
TMemberBinding

Result of visiting the member binding.

VisitMemberInit(MemberInitExpression)

Visits the children of the MemberInitExpression.

Declaration
protected override TExpression VisitMemberInit(MemberInitExpression node)
Parameters
Type Name Description
System.Linq.Expressions.MemberInitExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitMemberInit(System.Linq.Expressions.MemberInitExpression)

VisitMemberListBinding(MemberListBinding)

Visits the children of the MemberListBinding.

Declaration
protected virtual TMemberListBinding VisitMemberListBinding(MemberListBinding node)
Parameters
Type Name Description
System.Linq.Expressions.MemberListBinding node

Member list binding to visit.

Returns
Type Description
TMemberListBinding

Result of visiting the member list binding.

VisitMemberMemberBinding(MemberMemberBinding)

Visits the children of the MemberMemberBinding.

Declaration
protected virtual TMemberMemberBinding VisitMemberMemberBinding(MemberMemberBinding node)
Parameters
Type Name Description
System.Linq.Expressions.MemberMemberBinding node

Member member binding to visit.

Returns
Type Description
TMemberMemberBinding

Result of visiting the member member binding.

VisitMethodCall(MethodCallExpression)

Visits the children of the MethodCallExpression.

Declaration
protected override TExpression VisitMethodCall(MethodCallExpression node)
Parameters
Type Name Description
System.Linq.Expressions.MethodCallExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitMethodCall(System.Linq.Expressions.MethodCallExpression)

VisitNew(NewExpression)

Visits the children of the NewExpression.

Declaration
protected override TExpression VisitNew(NewExpression node)
Parameters
Type Name Description
System.Linq.Expressions.NewExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitNew(System.Linq.Expressions.NewExpression)

VisitNewArray(NewArrayExpression)

Visits the children of the NewArrayExpression.

Declaration
protected override TExpression VisitNewArray(NewArrayExpression node)
Parameters
Type Name Description
System.Linq.Expressions.NewArrayExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitNewArray(System.Linq.Expressions.NewArrayExpression)

VisitParameter(ParameterExpression)

Visits the children of the ParameterExpression.

Declaration
protected override TExpression VisitParameter(ParameterExpression node)
Parameters
Type Name Description
System.Linq.Expressions.ParameterExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitParameter(System.Linq.Expressions.ParameterExpression)

VisitRuntimeVariables(RuntimeVariablesExpression)

Visits the children of the RuntimeVariablesExpression.

Declaration
protected override TExpression VisitRuntimeVariables(RuntimeVariablesExpression node)
Parameters
Type Name Description
System.Linq.Expressions.RuntimeVariablesExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitRuntimeVariables(System.Linq.Expressions.RuntimeVariablesExpression)

VisitSwitch(SwitchExpression)

Visits the children of the SwitchExpression.

Declaration
protected override TExpression VisitSwitch(SwitchExpression node)
Parameters
Type Name Description
System.Linq.Expressions.SwitchExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitSwitch(System.Linq.Expressions.SwitchExpression)

VisitSwitchCase(SwitchCase)

Visits the children of the SwitchCase.

Declaration
protected virtual TSwitchCase VisitSwitchCase(SwitchCase node)
Parameters
Type Name Description
System.Linq.Expressions.SwitchCase node

Switch case to visit.

Returns
Type Description
TSwitchCase

Result of visiting the switch case.

VisitTry(TryExpression)

Visits the children of the TryExpression.

Declaration
protected override TExpression VisitTry(TryExpression node)
Parameters
Type Name Description
System.Linq.Expressions.TryExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitTry(System.Linq.Expressions.TryExpression)

VisitTypeBinary(TypeBinaryExpression)

Visits the children of the TypeBinaryExpression.

Declaration
protected override TExpression VisitTypeBinary(TypeBinaryExpression node)
Parameters
Type Name Description
System.Linq.Expressions.TypeBinaryExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitTypeBinary(System.Linq.Expressions.TypeBinaryExpression)

VisitUnary(UnaryExpression)

Visits the children of the UnaryExpression.

Declaration
protected override TExpression VisitUnary(UnaryExpression node)
Parameters
Type Name Description
System.Linq.Expressions.UnaryExpression node

Expression to visit.

Returns
Type Description
TExpression

Result of visiting the expression.

Overrides
System.Linq.CompilerServices.ExpressionVisitor<TExpression>.VisitUnary(System.Linq.Expressions.UnaryExpression)
In This Article
Back to top Generated by DocFX