internal RegistrationGroupRule(string range, int length)
        {
            CheckUtility.MustNotBeEmpty(range, nameof(range));
            CheckUtility.MustBeGreaterThanOrEqual0(length, nameof(length));

            var rs = range.Split('-');

            RangeStart = rs[0].Substring(0, length);
            RangeEnd   = rs[1].Substring(0, length);
            Length     = length;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 整数値を元にこのクラスのインスタンスを生成します。
        /// <see cref="Length"/>の値は第2引数と同じ値となります。
        /// </summary>
        /// <param name="value">整数値</param>
        /// <param name="length">桁数</param>
        /// <returns>インスタンス</returns>
        /// <exception cref="ArgumentException">第1引数の整数値の持つ桁数が第2引数で指定された桁数よりも大きい場合</exception>
        /// <exception cref="ArgumentOutOfRangeException">第1引数の整数値が負数である場合、
        /// もしくは、第2引数の整数値が1より小さい場合</exception>
        public static Digits Of(int value, int length)
        {
            CheckUtility.MustBeGreaterThanOrEqual0(value, nameof(value));
            CheckUtility.MustBeGreaterThan0(length, nameof(length));
            var s = value.ToString();

            if (s.Length > length)
            {
                throw new ArgumentException("Mismatch between number of digits and value of length.");
            }
            return(Of(value.ToString().PadLeft(length, '0')));
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 整数値を元にこのクラスのインスタンスを生成します。
 /// <see cref="Length"/>の値は当該整数値の持つ桁数と同じ値となります。
 /// </summary>
 /// <param name="value">整数値</param>
 /// <returns>インスタンス</returns>
 /// <exception cref="ArgumentOutOfRangeException">整数値が負数である場合</exception>
 public static Digits Of(int value)
 {
     CheckUtility.MustBeGreaterThanOrEqual0(value, nameof(value));
     return(new Digits(value));
 }