private void button_Click(object sender, RoutedEventArgs e) { try { var x = new Variable("custo"); var y = new Variable("pagamento"); var z = new Variable("correção"); var a = new Variable("acumulado"); ExpressionMath exp = new OperationSum(new OperationMultiplication(new OperationSum(x, y), z), a); var context = new ContextExpression(); context.Assign(x, Double.Parse(textBoxX.Text)); context.Assign(y, Double.Parse(textBoxY.Text)); context.Assign(z, Double.Parse(textBoxZ.Text)); context.Assign(a, Double.Parse(textBoxA.Text)); var result = exp.Interpret(context); lblResult.Content = result; } catch { MessageBox.Show("Desculpe, o interpretador não sabe o que você quer dizer"); } }
public override double Interpret(ContextExpression context) { return(expression1.Interpret(context) + expression2.Interpret(context)); }
public abstract double Interpret(ContextExpression context);
public override double Interpret(ContextExpression context) { return(context.Lookup(Name)); }