Skip to content

DynamicExpressionParser.ParseLambda can not parse 'TrimEnd' string method #487

@Evgentus0

Description

@Evgentus0

Here is what to include in your request to make sure we implement a solution as quickly as possible.

1. Description

Trying parse expression which using 'TrimEnd' string method I get an error "No applicable method 'TrimEnd' exists in type 'String''"

2. Exception

  • Message : "No applicable method 'TrimEnd' exists in type 'String'"
  • StackTrace:

    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseMemberAccess(Type type, Expression expression)
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseIdentifier()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParsePrimaryStart()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParsePrimary()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseUnary()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseMultiplicative()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseAdditive()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseShiftOperator()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseComparisonOperator()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseLogicalAndOrOperator()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseIn()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseAndOperator()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseOrOperator()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseLambdaOperator()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseNullCoalescingOperator()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseConditionalOperator()
    at System.Linq.Dynamic.Core.Parser.ExpressionParser.Parse(Type resultType, Boolean createParameterCtor)
    at System.Linq.Dynamic.Core.DynamicExpressionParser.ParseLambda(Type delegateType, ParsingConfig parsingConfig, Boolean createParameterCtor, ParameterExpression[] parameters, Type resultType, String expression, Object[] values)
    at System.Linq.Dynamic.Core.DynamicExpressionParser.ParseLambda(ParsingConfig parsingConfig, Boolean createParameterCtor, ParameterExpression[] parameters, Type resultType, String expression, Object[] values)
    at System.Linq.Dynamic.Core.DynamicExpressionParser.ParseLambda[T,TResult](ParsingConfig parsingConfig, Boolean createParameterCtor, String expression, Object[] values)
    at TestEfTranslator.Program.Main(String[] args) in D:\Projects\Examples\TestEfTranslator\TestEfTranslator\Program.cs:line 32

3. Fiddle or Project

To reproduce this issue you can just try to parse next expression:

var expression = DynamicExpressionParser.ParseLambda<string, bool>(new ParsingConfig(), false, "TrimEnd().EndsWith(@0)", "test");
You may even do not use parameters, the main thing is 'TrimEnd()'

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions