Use Eval.Compile<T> to transform a C# expression into a reusable delegate. This is more efficient than Eval.Execute if you need to run the same expression multiple times with different values.
Supported delegate types include:
Func<...> for expressions that return a value.Action<...> for expressions that perform an operation without returning a value.
You can define parameters using indexed placeholders ({0}, {1}) or by explicitly providing parameter names as strings.
// Delegate Func
var compiled = Eval.Compile<Func<int, int, int>>("{0} + {1}");
int result = compiled(1, 2);
// Delegate Action
var compiled = Eval.Compile<Action<int, int>>("{0} + {1}");
compiled(1, 2);
// Named Parameter
var compiled = Eval.Compile<Func<int, int, int>>("X + Y", "X", "Y");
int result = compiled(1, 2);