Я могу определить функцию с лямбда-выражением, как в:
Func <int, int, int> Fxy = ( (a,b) => a + b ) ); // Fxy does addition
Но что, если я хочу разрешить пользователю указывать r.h.s. лямбда-выражения во время выполнения?
String formula_rhs = Console.Readline();
// user enters "a - b"
Могу ли я как-то изменить Fxy, как если бы я кодировал
Func <int, int, int> Fxy = ( (a,b) => a - b ) ); // Fxy does what the user wants
// (subtraction)
В настоящее время я использую встроенный синтаксический анализатор выражений для принятия пользовательских формул. Просто запускаю w .NET, и я чувствую, что может быть не слишком болезненный способ сделать это.