/// <summary>
        /// 選択肢を追加する。
        /// </summary>
        /// <param name="argCase">[NotNull] 選択肢情報</param>
        /// <exception cref="ArgumentNullException">argCaseがnullの場合</exception>
        public override void AddSpecialCase(DatabaseValueCase argCase)
        {
            if (argCase is null)
            {
                throw new ArgumentNullException(
                          ErrorMessage.NotNull(nameof(argCase)));
            }

            argCaseList.Add(argCase);
        }
        /// <summary>
        /// 選択肢を更新する。
        /// </summary>
        /// <param name="index">[Range(0, 選択肢数-1)] 更新する選択肢</param>
        /// <param name="argCase">[NotNull] 更新する選択肢内容</param>
        /// <exception cref="InvalidOperationException">特殊指定が「手動生成」以外の場合</exception>
        /// <exception cref="ArgumentOutOfRangeException">indexが指定範囲外の場合</exception>
        /// <exception cref="ArgumentNullException">argCasesがnullの場合</exception>
        public override void UpdateManualSpecialCase(int index, DatabaseValueCase argCase)
        {
            var       max = argCaseList.Count;
            const int min = 0;

            if (index < min || max < index)
            {
                throw new ArgumentOutOfRangeException(
                          ErrorMessage.OutOfRange(nameof(index), min, max, index));
            }
            if (argCase is null)
            {
                throw new ArgumentNullException(
                          ErrorMessage.NotEmpty(nameof(argCase)));
            }

            argCaseList[index] = argCase;
        }