C# Class NSoft.NFramework.LinqEx.ExpressionVisitor

This comes from Matt Warren's sample: http://blogs.msdn.com/mattwar/archive/2007/07/31/linq-building-an-iqueryable-provider-part-ii.aspx
显示文件 Open project: debop/NFramework

Public Methods

Method Description
Visit ( Expression exp ) : Expression

지정된 Expression의 종류에 따라 Visitor를 생성한다.

Protected Methods

Method Description
VisitBinary ( BinaryExpression b ) : Expression

Apply Visitor to BinaryExpression

VisitBinding ( MemberBinding binding ) : MemberBinding

Visit Binding

VisitBindingList ( ReadOnlyCollection original ) : IEnumerable

VisitConditional ( ConditionalExpression c ) : Expression

VisitConstant ( ConstantExpression c ) : Expression

VisitElementInitializer ( ElementInit initializer ) : ElementInit

Apply initializer to ElementInit

VisitElementInitializerList ( ReadOnlyCollection original ) : IEnumerable

VisitExpressionList ( ReadOnlyCollection original ) : ReadOnlyCollection

VisitInvocation ( InvocationExpression iv ) : Expression

VisitLambda ( LambdaExpression lambda ) : Expression

VisitListInit ( ListInitExpression init ) : Expression

VisitMemberAccess ( MemberExpression m ) : Expression

VisitMemberAssignment ( MemberAssignment assignment ) : MemberAssignment

VisitMemberInit ( MemberInitExpression init ) : Expression

VisitMemberListBinding ( MemberListBinding binding ) : MemberListBinding

VisitMemberMemberBinding ( MemberMemberBinding binding ) : MemberMemberBinding

VisitMethodCall ( MethodCallExpression m ) : Expression

VisitNew ( NewExpression nex ) : NewExpression

VisitNewArray ( NewArrayExpression na ) : Expression

VisitParameter ( System.Linq.Expressions.ParameterExpression p ) : Expression

VisitTypeIs ( TypeBinaryExpression b ) : Expression

VisitUnary ( UnaryExpression u ) : Expression

Apply Visitor to UnaryExpression

Method Details

Visit() public method

지정된 Expression의 종류에 따라 Visitor를 생성한다.
public Visit ( Expression exp ) : Expression
exp System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression

VisitBinary() protected method

Apply Visitor to BinaryExpression
protected VisitBinary ( BinaryExpression b ) : Expression
b System.Linq.Expressions.BinaryExpression
return System.Linq.Expressions.Expression

VisitBinding() protected method

Visit Binding
protected VisitBinding ( MemberBinding binding ) : MemberBinding
binding System.Linq.Expressions.MemberBinding
return System.Linq.Expressions.MemberBinding

VisitBindingList() protected method

protected VisitBindingList ( ReadOnlyCollection original ) : IEnumerable
original ReadOnlyCollection
return IEnumerable

VisitConditional() protected method

protected VisitConditional ( ConditionalExpression c ) : Expression
c System.Linq.Expressions.ConditionalExpression
return System.Linq.Expressions.Expression

VisitConstant() protected method

protected VisitConstant ( ConstantExpression c ) : Expression
c System.Linq.Expressions.ConstantExpression
return System.Linq.Expressions.Expression

VisitElementInitializer() protected method

Apply initializer to ElementInit
protected VisitElementInitializer ( ElementInit initializer ) : ElementInit
initializer System.Linq.Expressions.ElementInit
return System.Linq.Expressions.ElementInit

VisitElementInitializerList() protected method

protected VisitElementInitializerList ( ReadOnlyCollection original ) : IEnumerable
original ReadOnlyCollection
return IEnumerable

VisitExpressionList() protected method

protected VisitExpressionList ( ReadOnlyCollection original ) : ReadOnlyCollection
original ReadOnlyCollection
return ReadOnlyCollection

VisitInvocation() protected method

protected VisitInvocation ( InvocationExpression iv ) : Expression
iv System.Linq.Expressions.InvocationExpression
return System.Linq.Expressions.Expression

VisitLambda() protected method

protected VisitLambda ( LambdaExpression lambda ) : Expression
lambda System.Linq.Expressions.LambdaExpression
return System.Linq.Expressions.Expression

VisitListInit() protected method

protected VisitListInit ( ListInitExpression init ) : Expression
init System.Linq.Expressions.ListInitExpression
return System.Linq.Expressions.Expression

VisitMemberAccess() protected method

protected VisitMemberAccess ( MemberExpression m ) : Expression
m System.Linq.Expressions.MemberExpression
return System.Linq.Expressions.Expression

VisitMemberAssignment() protected method

protected VisitMemberAssignment ( MemberAssignment assignment ) : MemberAssignment
assignment System.Linq.Expressions.MemberAssignment
return System.Linq.Expressions.MemberAssignment

VisitMemberInit() protected method

protected VisitMemberInit ( MemberInitExpression init ) : Expression
init System.Linq.Expressions.MemberInitExpression
return System.Linq.Expressions.Expression

VisitMemberListBinding() protected method

protected VisitMemberListBinding ( MemberListBinding binding ) : MemberListBinding
binding System.Linq.Expressions.MemberListBinding
return System.Linq.Expressions.MemberListBinding

VisitMemberMemberBinding() protected method

protected VisitMemberMemberBinding ( MemberMemberBinding binding ) : MemberMemberBinding
binding System.Linq.Expressions.MemberMemberBinding
return System.Linq.Expressions.MemberMemberBinding

VisitMethodCall() protected method

protected VisitMethodCall ( MethodCallExpression m ) : Expression
m System.Linq.Expressions.MethodCallExpression
return System.Linq.Expressions.Expression

VisitNew() protected method

protected VisitNew ( NewExpression nex ) : NewExpression
nex System.Linq.Expressions.NewExpression
return System.Linq.Expressions.NewExpression

VisitNewArray() protected method

protected VisitNewArray ( NewArrayExpression na ) : Expression
na System.Linq.Expressions.NewArrayExpression
return System.Linq.Expressions.Expression

VisitParameter() protected method

protected VisitParameter ( System.Linq.Expressions.ParameterExpression p ) : Expression
p System.Linq.Expressions.ParameterExpression
return System.Linq.Expressions.Expression

VisitTypeIs() protected method

protected VisitTypeIs ( TypeBinaryExpression b ) : Expression
b System.Linq.Expressions.TypeBinaryExpression
return System.Linq.Expressions.Expression

VisitUnary() protected method

Apply Visitor to UnaryExpression
protected VisitUnary ( UnaryExpression u ) : Expression
u System.Linq.Expressions.UnaryExpression
return System.Linq.Expressions.Expression