You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The expression evaluator fails to identify and call the correct instance of an overloaded method in a context object when a Func<>-parameter is included. Instead, the top implemented instance of the overloaded method with correct number of parameters is being called, which causes an ExpressionEvaluatorSyntaxErrorException since the Func<>-parameter isn't convertible to its data type.
In the example below the evaluator will try to convert the Func<>x => true to a string.
However, this works fine when Hello(Func<string, bool> filter) is implemented above Hello(string name). This hasn't always been a requirement though, for example this error doesn't occur in version 1.4.21. I don't know in which version this error first occured.
[EXAMPLE]
void Main()
{
var evaluator = new CodingSeb.ExpressionEvaluator.ExpressionEvaluator {
Context = new Test()
};
var result = evaluator.Evaluate("Hello(x => true)");
}
public class Test
{
public string Hello(string name) {
return $"Hello {name}!";
}
public string Hello(Func<string, bool> filter) {
return $"Hello. This method will not be reached!";
}
}
The text was updated successfully, but these errors were encountered:
The expression evaluator fails to identify and call the correct instance of an overloaded method in a context object when a
Func<>
-parameter is included. Instead, the top implemented instance of the overloaded method with correct number of parameters is being called, which causes anExpressionEvaluatorSyntaxErrorException
since theFunc<>
-parameter isn't convertible to its data type.In the example below the evaluator will try to convert the
Func<>
x => true
to a string.However, this works fine when
Hello(Func<string, bool> filter)
is implemented aboveHello(string name)
. This hasn't always been a requirement though, for example this error doesn't occur in version 1.4.21. I don't know in which version this error first occured.[EXAMPLE]
The text was updated successfully, but these errors were encountered: