我创建了如下的属性,并且指定的默认值不起作用。为自动属性设置的默认值不起作用
[DefaultValue(100)]
public int MyProperty
{
get;
set;
}
但属性不返回指定的默认值,而是返回“O”
任何人都可以请澄清我吗?
问候,
我创建了如下的属性,并且指定的默认值不起作用。为自动属性设置的默认值不起作用
[DefaultValue(100)]
public int MyProperty
{
get;
set;
}
但属性不返回指定的默认值,而是返回“O”
任何人都可以请澄清我吗?
问候,
您使用的是DefaultValue
属性。
DefaultValueAttribute不会使用该属性的值自动初始化成员。您必须在代码中设置初始值。
https://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute(v=vs.110).aspx
在C#5以下的,给予属性的默认值,你必须做它在构造函数中。
public class MyClass
{
public MyClass() {
MyProperty = 100;
}
public int MyProperty {get; set;}
}
在C#版本6(及以上),你可以这样做:
public int MyProperty { get; set; } = 100;
如果您正在使用C#6.0,你可以用它来设置默认属性值:
public int MyProperty { get; set; } = 100;
有没有必要张贴我的答案 – Alex
当我发布时,你的回答只有关于DefaultValue属性的信息。 – barzozwierz
按照此链接:http://stackoverflow.com/questions/40730/how-do-you-give-ac-sharp-auto-property-a-default-value – Kingsman