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

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

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