我想在不创建实例的情况下执行类的静态构造函数(即我想“加载”类)。我该怎么做?
额外的问题:.NET 4 和旧版本之间有什么区别吗?
编辑:
- 类不是静态的。
- 我想在创建实例之前运行它,因为它需要一段时间才能运行,而且我想在首次访问时避免这种延迟。
- 静态构造函数初始化
private static readonly
字段,因此不能在方法中运行。
最佳答案
其他答案非常好,但是如果您需要强制类构造函数在没有引用类型(即反射)的情况下运行,您可以使用 RunClassConstructor
:
Type type = ...;
System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(type.TypeHandle);
关于c# - 如何运行静态构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2654010/