C# (CSharp) Rebel.Framework.Expressions.Remotion Namespace

Classes

Name Description
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.
CustomPartialEvaluatingExpressionTreeVisitor.DynamicMemberMetadataFindingVisitor
CustomQueryParser Heavily based on the default QueryParser normally used in Relinq, but primary difference is that we need to establish a different ExpressionTreeParser with a custom DynamicTransformingExpressionTreeProcessor in place of the default TransformingExpressionTreeProcessor in order to avoid it from precompiling certain expressions such as those referencing DynamicMemberMetadata.GetMemberMethod in order to reference dynamic operations inside regular .NET 3.5 expression trees. Relinq doesn't support DynamicExpression from .NET 4 at time of writing.
ExpressionNodeModifierRegistry
ExpressionNodeModifierRegistry.MethodInfoRegistration
ExpressionTreeParserHelper
ModifiedPartialEvaluatingExpressionTreeProcessor