次のような日付範囲属性を作成しました。
[DateRange(Min = "Today")]
この属性内で、次のような最小日付を取得します。
...
var minDate = DateTime.Now;
...
編集:ここにもっとコードがあります:
private DateTime _minDate = DateTime.Today.AddYears(-100);
private DateTime _maxDate = DateTime.MaxValue;
// String representation of the Min Date (yyyy/MM/dd)
public string Min
{
get { return FormatDate(_minDate, DateTime.Today.AddYears(-100)); }
set { _minDate = value == "Today" ? DateTime.Today : ParseDate(value, DateTime.Today.AddYears(-100)); }
}
// String representation of the Max Date (yyyy/MM/dd)
public string Max
{
get { return FormatDate(_maxDate, DateTime.MaxValue); }
set { _maxDate = value == "Today" ? DateTime.Today : ParseDate(value, DateTime.MaxValue); }
}
属性の性質上、minDate はコンパイル時に 1 回だけ設定されます。この機能を実装する別の方法を教えてもらえますか?