Sie möchten also die Zeichenfolge (eventuell) in einen typisierten Delegaten zerlegen.
Eine Möglichkeit besteht darin, die Zeichenkette in eine Expression
die Sie dann zu einem Lambda kompilieren können. Dies ist ziemlich komplex, aber ich habe einige Code, der viel von diesem tun wird - aber es kann bestehende Parser, die bereits die Arbeit in vollem Umfang tun.
Als eine triviale Expression
Beispiel:
var x = Expression.Parameter(typeof(double), "x");
var y = Expression.Parameter(typeof(double), "y");
var body = Expression.Multiply(x, y);
var func = Expression.Lambda<Func<double, double,double>>(body, x, y).Compile();
double z = func(123.45, 678.90);
Das Problem ist der Rest des Parsing-Codes ;-p
Ich schrieb eine string
a Expression
Parser letzte Woche, aber es ist mehr Code, als ich normalerweise hier posten würde... über 300 Zeilen (ohne die Erkennung von maßgeschneiderten externen Funktionen oder benannten Argumenten (er verwendet derzeit anonyme "?"-Platzhalter)).
aber wenn (wie Sie sagen) das Interpretieren einfach ist, dann verwenden Sie vielleicht einen ähnlichen Code, um eine Expression
die Sie kompilieren können?