如何在C#中为类的静态默认属性分配默认值?

Tam*_*ran 2 .net c# c#-4.0

可能重复:
静态属性的默认值

我能够为类的正常默认属性分配默认值.但我无法为类的静态默认属性分配默认值,如下所示: -

    public class AppInstance
{
    [DefaultValue(25)]
    public static int AppType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我调用AppInstance.AppType时,它总是返回0而不是25.为什么?如何在不使用私有变量声明的情况下解决它?

Oli*_*bes 5

DefaultValueAttribute只告诉WinForms设计师,其值是形式或控件的属性的默认值.如果属性具有其他值,则此值将在属性窗口中显示为粗体.但它实际上并没有设定价值.

您必须在静态构造函数中为其赋值

static MyClass()
{
    AppType = 25;
}
Run Code Online (Sandbox Code Playgroud)