Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            int threadHashCode = Thread.CurrentThread.GetHashCode();

            Console.WriteLine("Main() in Thread {0}", threadHashCode);

            Calculator calculator = new Calculator(0);

            while (true)
            {
                char operationSymbol = Prompts.PromptOperationSymbol();
                MathOperationDelagate mathOperation =
                    Calculator.GetOperation(operationSymbol);
                decimal value   = Prompts.PromtDecimalValue();
                decimal prevSum = calculator.Sum;

                try {
                    decimal sum = calculator.MakeOperation(mathOperation, value);
                    Console.WriteLine("{0} {1} {2} = {3}", prevSum,
                                      operationSymbol, value, sum);
                } catch (ArgumentException e) {
                    Console.WriteLine("Error: {0}", e.Message);
                }
            }
        }
Ejemplo n.º 2
0
 public decimal MakeOperation(MathOperationDelagate mathOperation,
                              decimal value)
 {
     this.Sum = mathOperation(this.Sum, value);
     return(this.Sum);
 }