Class ProFilterExpressionParser

Assembly: redb.Core.Pro.dll

Pro version of FilterExpressionParser - supports arithmetic, functions and complex expressions.
Does not throw on Pro-only features.

public class ProFilterExpressionParser : BaseFilterExpressionParser, IFilterExpressionParser

Inheritance

ObjectBaseFilterExpressionParserProFilterExpressionParser

Implements

Inherited Members

BaseFilterExpressionParser.BuildPropertyPath(MemberExpression),BaseFilterExpressionParser.CheckPathDepth(int, string),BaseFilterExpressionParser.CheckProOnlyFeatures(Expression, string),BaseFilterExpressionParser.CreateArithmeticExpression(BinaryExpression),BaseFilterExpressionParser.CreateCustomFunctionExpression(MethodCallExpression),BaseFilterExpressionParser.CreateDateTimeFunctionExpression(MemberExpression),BaseFilterExpressionParser.CreateExtendedComparison(BinaryExpression, ComparisonOperator, ValueExpression?, ValueExpression?),BaseFilterExpressionParser.CreateFunctionCallExpression(MethodCallExpression),BaseFilterExpressionParser.EvaluateExpression(Expression),BaseFilterExpressionParser.EvaluateStringComparison(Expression),BaseFilterExpressionParser.ExtractDictionaryIndexerProperty(MethodCallExpression),BaseFilterExpressionParser.ExtractProperty(Expression),BaseFilterExpressionParser.ExtractPropertyAndValue(BinaryExpression),BaseFilterExpressionParser.ExtractPropertyFromMember(MemberExpression),BaseFilterExpressionParser.ExtractValueExpression(Expression),BaseFilterExpressionParser.IsArithmeticExpression(BinaryExpression),BaseFilterExpressionParser.IsCustomFunctionCall(MethodCallExpression),BaseFilterExpressionParser.IsDateTimePropertyAccess(MemberExpression),BaseFilterExpressionParser.IsDictionaryType(Type?),BaseFilterExpressionParser.IsIgnoreCaseComparison(StringComparison),BaseFilterExpressionParser.IsProFunctionCall(MethodCallExpression),BaseFilterExpressionParser.IsPropertyAccess(Expression),BaseFilterExpressionParser.ParseFilter<TProps>(Expression<Func<TProps, bool>>),BaseFilterExpressionParser.ParseRedbFilter(Expression<Func<IRedbObject, bool>>),BaseFilterExpressionParser.ReferencesLambdaParameter(Expression?),BaseFilterExpressionParser.TryExtractValueExpression(Expression),BaseFilterExpressionParser.VisitArithmeticComparisonExpression(BinaryExpression),BaseFilterExpressionParser.VisitBinaryExpression(BinaryExpression),BaseFilterExpressionParser.VisitBooleanMemberExpression(MemberExpression, bool),BaseFilterExpressionParser.VisitCollectionContains(MethodCallExpression),BaseFilterExpressionParser.VisitComparisonExpression(BinaryExpression, ComparisonOperator),BaseFilterExpressionParser.VisitConstantBooleanExpression(ConstantExpression),BaseFilterExpressionParser.VisitDictionaryContainsKey(MethodCallExpression),BaseFilterExpressionParser.VisitEnumerableAny(MethodCallExpression),BaseFilterExpressionParser.VisitEnumerableContains(MethodCallExpression),BaseFilterExpressionParser.VisitExpression(Expression),BaseFilterExpressionParser.VisitMethodCallExpression(MethodCallExpression),BaseFilterExpressionParser.VisitStringMethodWithComparison(MethodCallExpression, ComparisonOperator, ComparisonOperator),BaseFilterExpressionParser.VisitUnaryExpression(UnaryExpression)

Methods

CheckPathDepth(int, string)

Pro: Does not throw - deep nesting is supported!

protected override void CheckPathDepth(int depth, string fullPath)

CheckProOnlyFeatures(Expression, string)

Pro: Does not throw - arithmetic and functions are supported!

protected override void CheckProOnlyFeatures(Expression body, string context)