/// <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); }
/// <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; }