Exemple #1
0
        public static Number Calculate(IBinaryOperandCalculator cal, Number n1, Number n2)
        {
            if (n1 == null || n2 == null)
            {
                return(0);
            }
            switch (n1.TypeCode)
            {
            case NumberTypeCode.Int32:
                return(cal.Calculate((int)n1, (int)n2));

            case NumberTypeCode.Int64:
                return(cal.Calculate((long)n1, (long)n2));

            case NumberTypeCode.BigInteger:
                return(cal.Calculate((BigInteger)n1, (BigInteger)n2));

            case NumberTypeCode.Double:
            case NumberTypeCode.Decimal:
            case NumberTypeCode.BigDecimal:
                return(cal.Calculate((BigDecimal)n1, (BigDecimal)n2));
            }
            throw new ArgumentException("unsupported add calculate: " + n1.GetType());
        }
        public static Number Calculate(IBinaryOperandCalculator cal, Number n1, Number n2)
        {
            if (n1 == null || n2 == null)
            {
                return 0;
            }
            switch (n1.TypeCode)
            {
                case NumberTypeCode.Int32:
                    return cal.Calculate((int)n1, (int)n2);

                case NumberTypeCode.Int64:
                    return cal.Calculate((long)n1, (long)n2);

                case NumberTypeCode.BigInteger:
                    return cal.Calculate((BigInteger)n1, (BigInteger)n2);

                case NumberTypeCode.Double:
                case NumberTypeCode.Decimal:
                case NumberTypeCode.BigDecimal:
                    return cal.Calculate((BigDecimal)n1, (BigDecimal)n2);
            }
            throw new ArgumentException("unsupported add calculate: " + n1.GetType());
        }