靜態類壽命
static
類在成員訪問時被懶惰地初始化,並且在應用程式域的持續時間記憶體在。
void Main()
{
Console.WriteLine("Static classes are lazily initialized");
Console.WriteLine("The static constructor is only invoked when the class is first accessed");
Foo.SayHi();
Console.WriteLine("Reflecting on a type won't trigger its static .ctor");
var barType = typeof(Bar);
Console.WriteLine("However, you can manually trigger it with System.Runtime.CompilerServices.RuntimeHelpers");
RuntimeHelpers.RunClassConstructor(barType.TypeHandle);
}
// Define other methods and classes here
public static class Foo
{
static Foo()
{
Console.WriteLine("static Foo.ctor");
}
public static void SayHi()
{
Console.WriteLine("Foo: Hi");
}
}
public static class Bar
{
static Bar()
{
Console.WriteLine("static Bar.ctor");
}
}