JavaC#,我有以下问题: 在java中,我可以执行以下操作:

public class Application {
    static int attribute;
    static {
        attribute = 5;
    }
   // ... rest of code
}

我知道我可以从构造函数初始化它,但这不符合我的需要(我想初始化并调用一些实用函数,而不创建对象). C#支持这一点吗?如果是,我怎样才能做到这一点呢?

提前谢谢,

推荐答案

public class Application
{     

    static int attribute;     
    static Application()
    {         
         attribute = 5;     
    }    // removed
}

你可以使用C#类似功能static constructors.请不要将其与常规构造函数混淆.常规构造函数前面没有static修饰符.

我假设你的//... rest of the code也需要运行一次.如果你没有这样的代码,你可以简单地这样做.

 public class Application
 {     

    static int attribute = 5;
 }

.net相关问答推荐

在 .NET 中使用 AES 解密时缺少后半字节

在 web api 控制器(.net 核心)中使用 async/await 或任务

将 DataRowCollection 转换为 IEnumerable

log4net 与 TraceSource

在 Moq 中模拟泛型方法而不指定 T

如何以编程方式判断类型是 struct 还是类?

如何将字符串列表数据绑定到 WPF/WP7 中的 ListBox?

静态代码块

C# 编译为 32/64 位,或任何 cpu?

无法将文件 *.mdf 作为数据库附加

在 C# 中与块等效?

如何保护我的 .NET 程序集免受反编译?

您可以使用 Xamarin 开发 Linux 应用程序吗?

在 .NET 中获取默认打印机的最佳方法是什么

更改 SqlConnection 超时

如何向 C# Winforms 中的标签添加提示或工具提示?

DataContractSerializer vs XmlSerializer:每个序列化器的优缺点

IronPython 与 Python .NET

.NET 图形库?

Dictionary.Add 与 Dictionary[key]=value 的区别