C# で独自の Date プログラムを作成しようとしています。問題は、ユーザーが 2-31 などの日付を入力すると、プログラムがそれを許可することです。どの月が入力されているかを照合して、その月にその日が空いているかどうかを確認できる条件を作成したいと考えています。以下のコードを使用していますが、10 月 10 日など、正しいはずの日に例外がスローされます。これをコメントアウトすると、日付は機能しますが、月と一致するかどうかはチェックされません。
public int Day
{
get
{
return day;
}
private set
{
//int[] daysPerMonth = { 0, 31, 28, 31, 30, 31, 30,
// 31, 31, 30, 31, 30, 31 };
//// check if day in range for month
//if (value > 0 && value <= daysPerMonth[Month])
// day = value;
//else // day is invalid
// throw new ArgumentOutOfRangeException(
// "Day", value, "Day out of range for current month/year");
if (value > 0 && value <= 31)
day = value;
else
throw new ArgumentOutOfRangeException("Day", value, "Day must be 1-31");
}
}