相关疑难解决方法(0)

如何使用反射调用静态构造函数?

如何获取ConstructorInfo静态构造函数?

public class MyClass
{
    public static int SomeValue;

    static MyClass()
    {
        SomeValue = 23;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过以下但失败了....

 Type myClass = typeof (MyClass);

 // throws exception
 myClass.TypeInitializer.Invoke(null);    

 // returns null (also tried deleting  BindingFlags.Public
 ConstructorInfo ci = myClass.GetConstructor(BindingFlags.Static|BindingFlags.Public, System.Type.DefaultBinder, System.Type.EmptyTypes, null);

 // returns empty array
 ConstructorInfo[] clutchingAtStraws = myClass.GetConstructors(BindingFlags.Static| BindingFlags.Public);
Run Code Online (Sandbox Code Playgroud)

c# reflection

14
推荐指数
3
解决办法
6531
查看次数

RunClassConstructor是否只能运行一次类型的静态构造函数?

我正在使用以下代码调用类的静态ctor:

Type type;
System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(type.TypeHandle);
Run Code Online (Sandbox Code Playgroud)

这会导致cctor运行两次吗?

c# static-constructor

8
推荐指数
1
解决办法
2592
查看次数

标签 统计

c# ×2

reflection ×1

static-constructor ×1