可能重复:
Setting the default value of a DateTime Property to DateTime.Now inside the System.ComponentModel Default Value Attrbute设置默认值的属性在C#
进出口创造一个像日历控件,我想用户设置德元年他们想要查看。 但是如果他们不这样做,那么SelectedYear的属性必须是实际的年份。
我尝试设置这样此默认值:
[DefaultValue(DateTime.Today.Year)]
public int SelectedYear{
get{
return _selYear;
}
set{
_selYear = value;
UpdateCalendar();
}
}
而且我得到了以下错误
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
这不是那个属性的用途。在类的默认ctor中设置默认属性值是一个常用选项。 – asawyer
这是设计器的默认值,表示如果控件具有给定的年份值,则在属性窗口中该值不会为粗体。它不影响房产价值。 –
如果您正在构建控件,那么我相信在构造函数中设置默认值将是一个不错的地方。 – jags