C# Class FS.Utils.Common.ExpressionVisitor.AbsExpressionVisitor

对表达式树的解析
Exibir arquivo Open project: FarseerNet/Farseer.Net

Protected Methods

Method Description
IsFieldValue ( Expression exp ) : bool

判断是字段,还是值类型

Visit ( Expression exp ) : Expression

解析入口

VisitBinary ( BinaryExpression b ) : Expression

将二元符号转换成T-SQL可识别的操作符

VisitBinding ( MemberBinding binding ) : MemberBinding
VisitBindingList ( ReadOnlyCollection original ) : IEnumerable
VisitBlock ( System.Linq.Expressions.BlockExpression block ) : Expression
VisitConditional ( ConditionalExpression c ) : Expression
VisitConstant ( ConstantExpression cexp ) : Expression

将属性变量的右边值,转换成T-SQL的字段值

VisitConvertExp ( Expression exp ) : Expression

将变量转换成值

VisitElementInitializer ( ElementInit initializer ) : 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

将属性变量转换成T-SQL字段名

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

值类型的转换

Method Details

IsFieldValue() protected method

判断是字段,还是值类型
protected IsFieldValue ( Expression exp ) : bool
exp System.Linq.Expressions.Expression
return bool

Visit() protected method

解析入口
protected Visit ( Expression exp ) : Expression
exp System.Linq.Expressions.Expression 传入解释的表达式树
return System.Linq.Expressions.Expression

VisitBinary() protected method

将二元符号转换成T-SQL可识别的操作符
protected VisitBinary ( BinaryExpression b ) : Expression
b System.Linq.Expressions.BinaryExpression
return System.Linq.Expressions.Expression

VisitBinding() protected method

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

VisitBlock() protected method

protected VisitBlock ( System.Linq.Expressions.BlockExpression block ) : Expression
block System.Linq.Expressions.BlockExpression
return System.Linq.Expressions.Expression

VisitConditional() protected method

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

VisitConstant() protected method

将属性变量的右边值,转换成T-SQL的字段值
protected VisitConstant ( ConstantExpression cexp ) : Expression
cexp System.Linq.Expressions.ConstantExpression
return System.Linq.Expressions.Expression

VisitConvertExp() protected method

将变量转换成值
protected VisitConvertExp ( Expression exp ) : Expression
exp System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression

VisitElementInitializer() protected method

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

将属性变量转换成T-SQL字段名
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

值类型的转换
protected VisitUnary ( UnaryExpression u ) : Expression
u System.Linq.Expressions.UnaryExpression
return System.Linq.Expressions.Expression