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

标签 c# .net c#-4.0

<分区>

Possible Duplicate:
default value for a static property

我能够为类的普通默认属性分配默认值。 但是我无法为类的静态默认属性分配默认值,如下所示:-

    public class AppInstance
{
    [DefaultValue(25)]
    public static int AppType { get; set; }
}

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

最佳答案

DefaultValueAttribute 只告诉 WinForms 设计者哪个值是窗体或控件属性的默认值。如果该属性有另一个值,该值将在属性窗口中显示为粗体。但它实际上不会设置值。

必须在静态构造函数中给它赋值

static MyClass()
{
    AppType = 25;
}

关于c# - 如何在 C# 中为类的静态默认属性分配默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10317394/

相关文章:

c# - 使用 `async` lambda 和 `Task.Run()` 是多余的吗?

C# WebApi 传入客户端证书始终为空

c#-4.0 - 如何使用 C# 从 List<T>.AsParallel().ForAll() 中断

c# - 实现 MS Access 样式 'relationships' GUI

c# - 2维结构表

.net - 与oracle对话时应用程序崩溃,除非可执行文件路径包含空格

c# - Parallel.ForEach - 访问修改后的闭包是否适用?

c++ - 如何在 Visual Studio 2010 中构建这个简单的 C++/SWIG/C# 项目?

c# - 理解C#中的Begininvoke args

c# - NUnit 或 Fluent Assertions 测试引用相等性?