c# - 如何确保在不调用任何成员的情况下调用静态构造函数

标签 c# static constructor static-constructor

我有一个带有静态构造函数的类。

我希望在不调用或使用其任何成员的情况下调用静态构造函数,但前提是构造函数尚未被调用。

我尝试使用反射。通过反射,我可以调用静态构造函数(多次),但我无法确定它之前是否已经被调用过。

我该怎么做?

编辑
这不仅是我正在谈论的一个类,还可能更多。可以说,所有类都标有特殊属性。

最佳答案

您可以使用 RuntimeHelpers.RunClassConstructor方法(假设我正确地理解了你想要做什么......)

RuntimeHelpers.RunClassConstructor(typeof(YourType).TypeHandle);

关于c# - 如何确保在不调用任何成员的情况下调用静态构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16376270/

相关文章:

c# - 模板抽象类在字典中有值

C++ 静态方法(在不同的类中)(如 Java 的)

c - 汇编语言中的内存地址是一次性静态分配的吗?

java - static函数的情况下如何获取monitor?

c# - 将真值传递给 boolean 值

Python - 从动态 attrname 列表在 __init__ 中创建属性

javascript - MVC : Ajax data not getting to Controller

c# - 无法检索切换状态为0或1

c# - 在Docker内部将npm安装后没有node_modules文件夹

c++ - 如何从 C++ 中的未命名派生类调用非默认父构造函数?