C# 클래스 Signum.Utilities.ExpressionTrees.ExpressionCleaner

Implementation of SimpleExpressionVisitor that does the replacement * MethodExpanderAttribute * MemberXXXExpression static field * ExpressionExtensions.Expand method It also simplifies and skip evaluating short circuited subexpresions Evaluates constant subexpressions
상속: System.Linq.Expressions.ExpressionVisitor
파일 보기 프로젝트 열기: signumsoftware/framework 1 사용 예제들

공개 메소드들

메소드 설명
BindMemberExpression ( MemberExpression m, bool allowPolymorphics ) : Expression
BindMethodExpression ( MethodCallExpression m, bool allowPolymorphics ) : Expression
Clean ( Expression expr ) : Expression
Clean ( Expression expr, Expression>.Func partialEval, bool shortCircuit ) : Expression
GetFieldExpansion ( Type decType, MemberInfo mi ) : LambdaExpression
HasExpansions ( Type type, MemberInfo mi ) : bool

보호된 메소드들

메소드 설명
VisitBinary ( BinaryExpression b ) : Expression
VisitConditional ( ConditionalExpression c ) : Expression
VisitInvocation ( InvocationExpression iv ) : Expression
VisitMember ( MemberExpression m ) : Expression
VisitMethodCall ( MethodCallExpression m ) : Expression

비공개 메소드들

메소드 설명
BaseMember ( MemberInfo mi ) : MemberInfo
GetBool ( Expression exp ) : bool
GetExpansion ( MemberInfo mi ) : LambdaExpression
GetMember ( Type decType, MemberInfo mi ) : MemberInfo
IsStatic ( MemberInfo mi ) : bool

메소드 상세

BindMemberExpression() 공개 정적인 메소드

public static BindMemberExpression ( MemberExpression m, bool allowPolymorphics ) : Expression
m System.Linq.Expressions.MemberExpression
allowPolymorphics bool
리턴 System.Linq.Expressions.Expression

BindMethodExpression() 공개 정적인 메소드

public static BindMethodExpression ( MethodCallExpression m, bool allowPolymorphics ) : Expression
m System.Linq.Expressions.MethodCallExpression
allowPolymorphics bool
리턴 System.Linq.Expressions.Expression

Clean() 공개 정적인 메소드

public static Clean ( Expression expr ) : Expression
expr System.Linq.Expressions.Expression
리턴 System.Linq.Expressions.Expression

Clean() 공개 정적인 메소드

public static Clean ( Expression expr, Expression>.Func partialEval, bool shortCircuit ) : Expression
expr System.Linq.Expressions.Expression
partialEval Expression>.Func
shortCircuit bool
리턴 System.Linq.Expressions.Expression

GetFieldExpansion() 공개 정적인 메소드

public static GetFieldExpansion ( Type decType, MemberInfo mi ) : LambdaExpression
decType System.Type
mi System.Reflection.MemberInfo
리턴 System.Linq.Expressions.LambdaExpression

HasExpansions() 공개 정적인 메소드

public static HasExpansions ( Type type, MemberInfo mi ) : bool
type System.Type
mi System.Reflection.MemberInfo
리턴 bool

VisitBinary() 보호된 메소드

protected VisitBinary ( BinaryExpression b ) : Expression
b System.Linq.Expressions.BinaryExpression
리턴 System.Linq.Expressions.Expression

VisitConditional() 보호된 메소드

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

VisitInvocation() 보호된 메소드

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

VisitMember() 보호된 메소드

protected VisitMember ( MemberExpression m ) : Expression
m System.Linq.Expressions.MemberExpression
리턴 System.Linq.Expressions.Expression

VisitMethodCall() 보호된 메소드

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