Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to extend evaluator with additional Functions, no equivilent of AddOperation on parser.cs #7

Open
MSpekkio opened this issue Nov 10, 2022 · 2 comments

Comments

@MSpekkio
Copy link

My use case requires the ability to add into some additional simple functions for common business rule stuff (imagine a ORDER_ID() function that takes strings and produces a valid order id). In some cases, I could build the expression from using the provided functions, but since the idea of using your Evaluation engine is to expose a simple 'Excel' like set of functions for my users, the required complexity to get business rules is too high.

The Parser supports registering custom operators but the way Type.GetType locates the function identifiers, it can't locate types outside the org.matheval assembly.

See MSDN:
image

With this issue I'm also uploading proposed API addition to Parser.cs.
image

and
image

And a simple test in TestAll.cs
image

to support my use case.

Thank you.

MSpekkio added a commit to MSpekkio/expression-evaluator-c-sharp that referenced this issue Nov 10, 2022
MSpekkio added a commit to MSpekkio/expression-evaluator-c-sharp that referenced this issue Nov 10, 2022
MSpekkio added a commit to MSpekkio/expression-evaluator-c-sharp that referenced this issue Nov 10, 2022
MSpekkio added a commit to MSpekkio/expression-evaluator-c-sharp that referenced this issue Nov 10, 2022
@MSpekkio
Copy link
Author

Note I closed my Pull Request, somehow a bunch of bad changes got pulled in. I'll rebuild my local branch and resubmitt a PR when I have some time.

@sfadeev
Copy link

sfadeev commented Dec 16, 2023

Is there any plans to merge PR for this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants