Небольшая касательная - если вы хотите проанализировать и оценить всю строку выражения, которая содержит (вложенные!) Функции, рассмотрите NCalc (http://ncalc.codeplex.com/ и nuget)
Ex. немного изменен из проектной документации:
// the expression to evaluate, e.g. from user input (like a calculator program, hint hint college students)
var exprStr = "10 + MyFunction(3, 6)";
Expression e = new Expression(exprString);
// tell it how to handle your custom function
e.EvaluateFunction += delegate(string name, FunctionArgs args) {
if (name == "MyFunction")
args.Result = (int)args.Parameters[0].Evaluate() + (int)args.Parameters[1].Evaluate();
};
// confirm it worked
Debug.Assert(19 == e.Evaluate());
И в рамках делегата EvaluateFunction
вы бы вызвали существующую функцию.