C# 클래스 Rebel.Framework.Expressions.Remotion.CustomPartialEvaluatingExpressionTreeVisitor

This is based on PartialEvaluatingExpressionTreeVisitor but with a modification to avoid partially evaluating subtrees if the subtree is a binary expression between and a value. Normally, PartialEvaluatingExpressionTreeVisitor would eagerly compile certain types of subtree to make them "easier" to parse but this would mean we'd lose the metadata contained in the DynamicMemberMetadata.GetMember call and would just end up with the constant False evaluation return value when later visiting the QueryModel.
Unfortunately PartialEvaluatingExpressionTreeVisitor has a private constructor as of Relinq version 1.13.122.1 so some code is duplicated rather than inherited
상속: System.Linq.Expressions.ExpressionTreeVisitor
파일 보기 프로젝트 열기: RebelCMS/rebelcmsxu5 1 사용 예제들

공개 메소드들

메소드 설명
EvaluateIndependentSubtrees ( Expression expressionTree ) : Expression
VisitExpression ( Expression expression ) : Expression

보호된 메소드들

메소드 설명
EvaluateSubtree ( Expression subtree ) : Expression
VisitUnknownNonExtensionExpression ( Expression expression ) : Expression

비공개 메소드들

메소드 설명
CustomPartialEvaluatingExpressionTreeVisitor ( Expression treeRoot, Remotion.Linq.Parsing.ExpressionTreeVisitors.TreeEvaluation.PartialEvaluationInfo partialEvaluationInfo ) : System

메소드 상세

EvaluateIndependentSubtrees() 공개 정적인 메소드

public static EvaluateIndependentSubtrees ( Expression expressionTree ) : Expression
expressionTree System.Linq.Expressions.Expression
리턴 System.Linq.Expressions.Expression

EvaluateSubtree() 보호된 메소드

protected EvaluateSubtree ( Expression subtree ) : Expression
subtree System.Linq.Expressions.Expression
리턴 System.Linq.Expressions.Expression

VisitExpression() 공개 메소드

public VisitExpression ( Expression expression ) : Expression
expression System.Linq.Expressions.Expression
리턴 System.Linq.Expressions.Expression

VisitUnknownNonExtensionExpression() 보호된 메소드

protected VisitUnknownNonExtensionExpression ( Expression expression ) : Expression
expression System.Linq.Expressions.Expression
리턴 System.Linq.Expressions.Expression