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