/// <summary>
        /// During number conversion to text, finds out the converter
        /// to use for the next three-digit set.
        /// </summary>
        /// <returns>The next conversion function to use.</returns>
        private Func <int, GrammaticalGender, string> GetNextPartConverter(ThreeDigitSets currentSet)
        {
            Func <int, GrammaticalGender, string> converter;

            switch (currentSet)
            {
            case ThreeDigitSets.Units:
                converter = UnitsConverter;
                break;

            case ThreeDigitSets.Thousands:
                converter = ThousandsConverter;
                break;

            case ThreeDigitSets.Millions:
                converter = MillionsConverter;
                break;

            case ThreeDigitSets.Billions:
                converter = BillionsConverter;
                break;

            case ThreeDigitSets.More:
                converter = null;
                break;

            default:
                throw new ArgumentOutOfRangeException("Unknow ThreeDigitSet: " + currentSet);
            }

            return(converter);
        }
Beispiel #2
0
        /// <summary>
        /// During number conversion to text, finds out the converter to use
        /// for the next three-digit set.
        /// </summary>
        /// <returns>The next conversion function to use.</returns>
        /// <exception cref="ArgumentOutOfRangeException">Unknow ThreeDigitSet: " + _nextSet</exception>
        public Func <int, string> GetNextPartConverter()
        {
            Func <int, string> converter;

            switch (_nextSet)
            {
            case ThreeDigitSets.Units:
                converter = UnitsConverter;
                _nextSet  = ThreeDigitSets.Thousands;
                break;

            case ThreeDigitSets.Thousands:
                converter = ThousandsConverter;
                _nextSet  = ThreeDigitSets.Millions;
                break;

            case ThreeDigitSets.Millions:
                converter = MillionsConverter;
                _nextSet  = ThreeDigitSets.Billions;
                break;

            case ThreeDigitSets.Billions:
                converter = BillionsConverter;
                _nextSet  = ThreeDigitSets.More;
                break;

            case ThreeDigitSets.More:
                converter = null;
                break;

            default:
                throw new ArgumentOutOfRangeException("Unknow ThreeDigitSet: " + _nextSet);
            }

            return(converter);
        }
 /// <summary>
 /// During number conversion to text, finds out the converter to use
 /// for the next three-digit set.
 /// </summary>
 /// <returns>The next conversion function to use.</returns>
 public Func<int, string> GetNextPartConverter()
 {
     Func<int, string> converter;
     
     switch (_nextSet)
     {
         case ThreeDigitSets.Units:
             converter = UnitsConverter;
             _nextSet = ThreeDigitSets.Thousands;
             break;
             
         case ThreeDigitSets.Thousands:
             converter = ThousandsConverter;
             _nextSet = ThreeDigitSets.Millions;
             break;
             
         case ThreeDigitSets.Millions:
             converter = MillionsConverter;
             _nextSet = ThreeDigitSets.Billions;
             break;
             
         case ThreeDigitSets.Billions:
             converter = BillionsConverter;
             _nextSet = ThreeDigitSets.More;
             break;
             
         case ThreeDigitSets.More:
             converter = null;
             break;
             
         default:
             throw new ArgumentOutOfRangeException("Unknow ThreeDigitSet: " + _nextSet);
     }
     
     return converter;
 }
 public ItalianCardinalNumberCruncher(int number, GrammaticalGender gender)
 {
     _fullNumber = number;
     _threeDigitParts = SplitEveryThreeDigits(number);
     _gender = gender;
     _nextSet = ThreeDigitSets.Units;
 }
        /// <summary>
        /// During number conversion to text, finds out the converter
        /// to use for the next three-digit set.
        /// </summary>
        /// <returns>The next conversion function to use.</returns>
        private Func<int, GrammaticalGender, string> GetNextPartConverter(ThreeDigitSets currentSet)
        {
            Func<int, GrammaticalGender, string> converter;

            switch (currentSet)
            {
                case ThreeDigitSets.Units:
                    converter = UnitsConverter;
                    break;

                case ThreeDigitSets.Thousands:
                    converter = ThousandsConverter;
                    break;

                case ThreeDigitSets.Millions:
                    converter = MillionsConverter;
                    break;

                case ThreeDigitSets.Billions:
                    converter = BillionsConverter;
                    break;

                case ThreeDigitSets.More:
                    converter = null;
                    break;

                default:
                    throw new ArgumentOutOfRangeException("Unknow ThreeDigitSet: " + currentSet);
            }

            return converter;
        }