public double this[params Tuple <string, double>[] args] { get { RPN r = this.MemberwiseClone() as RPN; foreach (var arg in args) { r.SetVariable(arg.Item1, arg.Item2); } r.Execute(); return(r.Result); } }
/// <summary> /// Функция возвращает результат вычисления формулы по известным значениям параметров /// </summary> /// <param name="formula">Строковое представление формулы</param> /// <param name="values">Набор значений параметров (значения тригонометрических функций в радианах)</param> /// <returns></returns> public static string Analysator(string formula, string[] values) { string Result = string.Empty; RPN rpn = RPN.CreateRPN(formula); if (!rpn.SetVariables(values)) { return(rpn.Errors); } rpn.Execute(); return(Result = rpn.Result.ToString()); }