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
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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