I receive an Expression<Func<...,...,...,TResult>>
(random, but fixed number of parameters) instance in a form of a general Expression
type.
For instance:
Expression<Func<int,int,int>> adderExpression = (a,b) => a+b;
Expression receivedExpression = adderExpression;
//Later on, I get only the receivedExpression variable and an array of values for which I have to compute:
var values = new object[] {3, 4};
var result = receivedExpression.Compile().DynamicInvoke(values);
The only thing I have access to is the receivedExpression
variable and an array of object values for which I have to compute the result of applying the compiled expression.
The receivedExpression
does not change: once I get it, it remains the same.
What is the fastest way I can compute the result
variable given my circumstances? DynamicInvoke
is super slow in this case, and I was wondering if there is a faster way to compute the result.
Aucun commentaire:
Enregistrer un commentaire