Class ExpressionVisitor<T>
An abstract base class for an Expression visitor that returns a value of type T.
public abstract class ExpressionVisitor<T>
Type Parameters
T
The type of the return value.
- Inheritance
-
ExpressionVisitor<T>
- Inherited Members
- Extension Methods
Constructors
ExpressionVisitor()
Initializes a new instance of the ExpressionVisitor class.
protected ExpressionVisitor()
Methods
Visit(ReadOnlyCollection<Expression>)
Visits an Expression list.
protected T Visit(ReadOnlyCollection<Expression> nodes)
Parameters
nodes
ReadOnlyCollection<Expression>The Expression list.
Returns
- T
The result of visiting the Expressions.
Visit(Expression)
Visits an Expression.
protected virtual T Visit(Expression node)
Parameters
node
ExpressionThe Expression.
Returns
- T
The result of visiting the Expression.
VisitBinary(BinaryExpression)
Visits a BinaryExpression.
protected virtual T VisitBinary(BinaryExpression node)
Parameters
node
BinaryExpressionThe BinaryExpression.
Returns
- T
The result of visiting the Expression.
VisitConditional(ConditionalExpression)
Visits a ConditionalExpression.
protected virtual T VisitConditional(ConditionalExpression node)
Parameters
node
ConditionalExpressionThe ConditionalExpression.
Returns
- T
The result of visiting the Expression.
VisitConstant(ConstantExpression)
Visits a ConstantExpression.
protected virtual T VisitConstant(ConstantExpression node)
Parameters
node
ConstantExpressionThe ConstantExpression.
Returns
- T
The result of visiting the Expression.
VisitElementInit(ElementInit)
Visits an ElementInit.
protected virtual T VisitElementInit(ElementInit node)
Parameters
node
ElementInitThe ElementInit.
Returns
- T
The result of visiting the Expression.
VisitElementInitList(ReadOnlyCollection<ElementInit>)
Visits an ElementInit list.
protected T VisitElementInitList(ReadOnlyCollection<ElementInit> nodes)
Parameters
nodes
ReadOnlyCollection<ElementInit>The ElementInit list.
Returns
- T
The result of visiting the Expressions.
VisitInvocation(InvocationExpression)
Visits an InvocationExpression.
protected virtual T VisitInvocation(InvocationExpression node)
Parameters
node
InvocationExpressionThe InvocationExpression.
Returns
- T
The result of visiting the Expression.
VisitLambda(LambdaExpression)
Visits a LambdaExpression.
protected virtual T VisitLambda(LambdaExpression node)
Parameters
node
LambdaExpressionThe LambdaExpression.
Returns
- T
The result of visiting the Expression.
VisitListInit(ListInitExpression)
Visits a ListInitExpression.
protected virtual T VisitListInit(ListInitExpression node)
Parameters
node
ListInitExpressionThe ListInitExpression.
Returns
- T
The result of visiting the Expression.
VisitMember(MemberExpression)
Visits a MemberExpression.
protected virtual T VisitMember(MemberExpression node)
Parameters
node
MemberExpressionThe MemberExpression.
Returns
- T
The result of visiting the Expression.
VisitMemberAssignment(MemberAssignment)
Visits a MemberAssignment.
protected virtual T VisitMemberAssignment(MemberAssignment node)
Parameters
node
MemberAssignmentThe MemberAssignment.
Returns
- T
The result of visiting the Expression.
VisitMemberBinding(MemberBinding)
Visits a MemberBinding.
protected virtual T VisitMemberBinding(MemberBinding node)
Parameters
node
MemberBindingThe MemberBinding.
Returns
- T
The result of visiting the Expression.
VisitMemberBindingList(ReadOnlyCollection<MemberBinding>)
Visits a MemberBinding list.
protected virtual T VisitMemberBindingList(ReadOnlyCollection<MemberBinding> nodes)
Parameters
nodes
ReadOnlyCollection<MemberBinding>The MemberBinding list.
Returns
- T
The result of visiting the Expression.
VisitMemberInit(MemberInitExpression)
Visits a MemberInitExpression.
protected virtual T VisitMemberInit(MemberInitExpression node)
Parameters
node
MemberInitExpressionThe MemberInitExpression.
Returns
- T
The result of visiting the Expression.
VisitMemberListBinding(MemberListBinding)
Visits a MemberListBinding.
protected virtual T VisitMemberListBinding(MemberListBinding node)
Parameters
node
MemberListBindingThe MemberListBinding.
Returns
- T
The result of visiting the Expression.
VisitMemberMemberBinding(MemberMemberBinding)
Visits a MemberMemberBinding.
protected virtual T VisitMemberMemberBinding(MemberMemberBinding node)
Parameters
node
MemberMemberBindingThe MemberMemberBinding.
Returns
- T
The result of visiting the Expression.
VisitMethodCall(MethodCallExpression)
Visits a MethodCallExpression.
protected virtual T VisitMethodCall(MethodCallExpression node)
Parameters
node
MethodCallExpressionThe MethodCallExpression.
Returns
- T
The result of visiting the Expression.
VisitNew(NewExpression)
Visits a NewExpression.
protected virtual T VisitNew(NewExpression node)
Parameters
node
NewExpressionThe NewExpression.
Returns
- T
The result of visiting the Expression.
VisitNewArray(NewArrayExpression)
Visits a NewArrayExpression.
protected virtual T VisitNewArray(NewArrayExpression node)
Parameters
node
NewArrayExpressionThe NewArrayExpression.
Returns
- T
The result of visiting the Expression.
VisitParameter(ParameterExpression)
Visits a ParameterExpression.
protected virtual T VisitParameter(ParameterExpression node)
Parameters
node
ParameterExpressionThe ParameterExpression.
Returns
- T
The result of visiting the Expression.
VisitTypeBinary(TypeBinaryExpression)
Visits a TypeBinaryExpression.
protected virtual T VisitTypeBinary(TypeBinaryExpression node)
Parameters
node
TypeBinaryExpressionThe TypeBinaryExpression.
Returns
- T
The result of visiting the Expression.
VisitUnary(UnaryExpression)
Visits a UnaryExpression.
protected virtual T VisitUnary(UnaryExpression node)
Parameters
node
UnaryExpressionThe UnaryExpression.
Returns
- T
The result of visiting the Expression.