Получить текстовое представление формулы, записанной в коде, обратно в текст?
Всем привет.
В коде встречается много формул вида (штук 30 и будут пополняться, работа только началась, использование функций не предусмотрено, но может быть всякие мат.формулы типа SQRT, ABS и др):
_Weight_rostv = OTSTUP_SVAYA_MIN_B * 2 + (D_SVAYA + 1000) + D_SVAYA;
_Weight_rostv = OTSTUP_SVAYA_MIN_B * 2 + D_SVAYA * 3 + D_SVAYA;
нужно использовать эти выражения тремя способами
1. Получение результата (то, что и так есть само по себе)
2. Преобразование в строку текста выражения справа от равно (вот прям как в коде записано, можно без пробелов)
3. Идеально - вывод выражения с подстановкой параметров (заменить переменные на их значения).
Последовательность решения не важна, т.е. если можно придумать некий 4-й вариант и из него получать все три - тоже рассматривается.
public static void Main(string[] args)
{
var cube = new Formula<Func<int, int>>( (x) => x * x, "(x) => x * x" );
Console.WriteLine(cube.Exec(3));
Console.WriteLine(cube.Text);
}
public class Formula<T>
{
public readonly T Exec;
public readonly string Text;
public Formula(T action, string text)
{
Exec = action;
Text = text;
}
}