struct TestStruct
{
static TestStruct()
{
Console.WriteLine("TestStruct");
}
}
Run Code Online (Sandbox Code Playgroud)
在结构中调用静态无参数构造函数时.
要明确但安全地调用它(只需一次,无需担心它是否存在等):
System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(
type.TypeHandle);
Run Code Online (Sandbox Code Playgroud)
然而:
在结构中调用静态无参数构造函数时.
如果您的意思是"运行时何时执行它" - 唯一安全的答案就是它需要时 - 确切的细节非常复杂,并且在运行时之间进行更改.依赖于此的确切时间是不明智的.但是,保证在您(例如)尝试访问任何静态字段之前执行.