我注意到一个非静态类可以有一个静态构造函数:
public class Thing
{
public Thing()
{
Console.WriteLine("non-static");
}
static Thing()
{
Console.WriteLine("static");
}
}
当您初始化Thing
实例时,静态构造函数会首先被调用。
输出:
静态
非静态
这样做有什么必要吗?您是否使用它来初始化非静态类型的实例上的静态字段?
在使用静态构造函数时有哪些需要考虑的事情?