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