可能重复:
静态属性的默认值
我能够为类的正常默认属性分配默认值.但我无法为类的静态默认属性分配默认值,如下所示: -
public class AppInstance
{
[DefaultValue(25)]
public static int AppType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当我调用AppInstance.AppType时,它总是返回0而不是25.为什么?如何在不使用私有变量声明的情况下解决它?
该DefaultValueAttribute只告诉WinForms设计师,其值是形式或控件的属性的默认值.如果属性具有其他值,则此值将在属性窗口中显示为粗体.但它实际上并没有设定价值.
您必须在静态构造函数中为其赋值
static MyClass()
{
AppType = 25;
}
Run Code Online (Sandbox Code Playgroud)