关于.Net中DefaultValueAttribute类的用法
下面是简单的代码:关于.Net中DefaultValueAttribute类的用法,.net,asp.net,default-value,.net,Asp.net,Default Value,下面是简单的代码: [System.ComponentModel.DefaultValue(true)] public bool AnyValue { get; set; } 我确信我没有再次将任何值设置为false,我只是创建了它。此属性是ASP.NET页面类的属性。我正在检查按钮事件处理函数中的值。但不知何故,这仍然是错误的。 我想知道它到底是什么时候变为真的?在编译时?什么时候实例化类 您认为我做错了什么?DefaultValue未设置该值 它所做的是告诉VisualSt
[System.ComponentModel.DefaultValue(true)]
public bool AnyValue { get; set; }
我确信我没有再次将任何值设置为false,我只是创建了它。此属性是ASP.NET页面类的属性。我正在检查按钮事件处理函数中的值。但不知何故,这仍然是错误的。
我想知道它到底是什么时候变为真的?在编译时?什么时候实例化类
您认为我做错了什么?DefaultValue未设置该值
它所做的是告诉VisualStudio默认值是什么。在窗体上选择可视元素按钮、列表框等,并显示属性面板时,VS将加粗属性值,这些属性值设置为DefaultValue中给定值以外的值
因此,在您的情况下,由于AnyValue为false,但它的DefaultValue为true,因此is将在属性面板中以粗体显示false。如果要手动将其更改为true,则它将以非粗体显示。DefaultValue未设置该值
它所做的是告诉VisualStudio默认值是什么。在窗体上选择可视元素按钮、列表框等,并显示属性面板时,VS将加粗属性值,这些属性值设置为DefaultValue中给定值以外的值
因此,在您的情况下,由于AnyValue为false,但它的DefaultValue为true,因此is将在属性面板中以粗体显示false。如果您手动将其更改为true,那么它将以非粗体显示。那么像我所说的那样设置默认值的最佳方法是什么 这对我来说似乎是个好办法
private bool myVal = true;
public bool MyVal
{
get { return myVal; }
set { myVal = value; }
}
那么,像我所说的那样设置默认值的最佳方法是什么呢 这对我来说似乎是个好办法
private bool myVal = true;
public bool MyVal
{
get { return myVal; }
set { myVal = value; }
}
如前所述,它不设置值
除了PropertyGrid之外,[DefaultValue]还可用于各种序列化程序实现,如XmlSerializer和DataContractSerializer。关于信息,还有第二种模式:bool ShouldSerialize{Name},这是所有3种模式都遵守的。如前所述,它不设置值
除了PropertyGrid之外,[DefaultValue]还可用于各种序列化程序实现,如XmlSerializer和DataContractSerializer。关于信息,还有第二种模式:bool应该序列化{Name},这是所有3种模式都遵守的。这很好。或者在构造函数中设置它,这很好。或者在构造函数中设置它。