示例#1
0
 public int BinaryOperation(SingleBinaryOperation binaryOperation, int n1, int n2)
 {
     this.validator.ValidateArgs(n1, n2);
     var result = binaryOperation.Invoke(n1, n2);
     this.validator.ValidateResult(result);
     return result;
 }
示例#2
0
        public int BinaryOperation(SingleBinaryOperation binaryOperation, int n1, int n2)
        {
            this.validator.ValidateArgs(n1, n2);
            var result = binaryOperation.Invoke(n1, n2);

            this.validator.ValidateResult(result);
            return(result);
        }
示例#3
0
        public int BinaryOperation(SingleBinaryOperation operation, int arg1, int arg2)
        {
            _validator.ValidateArgs(arg1, arg2);

            int result = 0;
            MethodInfo[] calcultatorMethods = _calculator.GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance);
            foreach (MethodInfo method in calcultatorMethods)
            {
                if (method == operation.Method)
                {
                    result = (int)method.Invoke(_calculator, new Object[] { arg1, arg2 });
                }
            }
            _validator.ValidateResult(result);
            return result;
        }
示例#4
0
        public int BinaryOperation(SingleBinaryOperation operation, int arg1, int arg2)
        {
            _validator.ValidateArgs(arg1, arg2);
            int result = 0;

            MethodInfo[] calculatorMethods = _calculator.GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance);
            foreach (MethodInfo method in calculatorMethods)
            {
                if (method == operation.Method)
                {
                    result = (int)method.Invoke(_calculator, new Object[] { arg1, arg2 });
                }
            }
            _validator.ValidateResult(result);
            return(result);
        }