如何在结构中调用静态无参数构造函数?

Pra*_*pan 0 c# struct

struct TestStruct
{        
    static TestStruct()
    {
        Console.WriteLine("TestStruct");
    }
}
Run Code Online (Sandbox Code Playgroud)

在结构中调用静态无参数构造函数时.

Mar*_*ell 7

明确但安全地调用它(只需一次,无需担心它是否存在等):

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

然而:

在结构中调用静态无参数构造函数时.

如果您的意思是"运行时何时执行它" - 唯一安全的答案就是它需要时 - 确切的细节非常复杂,并且在运行时之间进行更改.依赖于此的确切时间是不明智的.但是,保证在您(例如)尝试访问任何静态字段之前执行.