Unable to Execute method that requires Dictionary<string, object> parameter #138
Copy link
Copy link
Closed
Description
I'm trying to call context.Execute() on a method that requires a Dictionary<string, object> to be passed in. When invoked, I received the following message:
No applicable member has been found for the expression
If I change the parameter passed in to something simple like a string, I'm able to call the method without issue. I've also tried to pass in a Dictionary<string, string> and receive the same message. Here's a pared down version of the code:
public class ExpressionStringLibrary : IDisposable
{
private Dictionary<string, object> _interpolationValDict;
private string _testString;
// This call fails with the error described above
public void SetInterpolationValDict(Dictionary<string, object> interpolationValDict) => _interpolationValDict = interpolationValDict;
// This call succeeds with the error described above
public void SetInterpolationValDictWITHSTRING(string testString) => _testString = testString;
}
Invocation:
// Get eval context
var context = new EvalContext();
// Register static helper
context.RegisterGlobalVariable("exprStrLib", new ExpressionStringLibrary(), true);
// Fails
var interpolationValues = new Dictionary<string, object>();
context.Execute("SetInterpolationValDict({0})", interpolationValues);
// Succeeds
context.Execute("SetInterpolationValDictWITHSTRING({0})", "test");
Should I be able to pass a Dictionary<string, object>?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
JonathanMagnan commentedon Aug 10, 2022
Hello @JamesHill3 ,
Thank you for reporting, my developer will look at it.
Best Regards,
Jon
JonathanMagnan commentedon Aug 18, 2022
Hello @JamesHill3 ,
Just to give you an update, we currently have a fix under review.
If approved, it will be merged next week.
Best Regards,
Jon
JonathanMagnan commentedon Sep 15, 2022
Hello @JamesHill3 ,
Sorry for the long delay on this issue,
The v4.0.88 has been released, which should fix this issue.
Let me know if everything is now working as expected.
Best Regards,
Jon