[再读书]静态构造函数
静态构造函数,可以在C#中用于初始化类数据,其方式与用于初始化实例数据的实例构造函数一样。静态构造函数与实例构造函数在使用规则上面有一些区别。与实例构造函数不一样,静态构造函数不能重载,所以可用的静态构造函数只有一个默认的无参静态构造函数。静态构造函数也不能显式的调用,不能在派生类中继承,但是在创建基类类型时可以调用。
C#在使用静态构造函数时的几个原则:
1.静态构造函数在创建类的实例之前调用,因此在所有实例构造函数之前调用。
2.静态构造函数在创建类的第一个实例之前调用。
3.静态构造函数在引用静态字段之前调用。
下面是简单例子。
静态构造函数只调用了一次。
C#在使用静态构造函数时的几个原则:
1.静态构造函数在创建类的实例之前调用,因此在所有实例构造函数之前调用。
2.静态构造函数在创建类的第一个实例之前调用。
3.静态构造函数在引用静态字段之前调用。
下面是简单例子。
class Test
{
static Test()
{
Console.WriteLine("a");
}
public Test()
{
Console.WriteLine("b");
}
}
class Test1 : Test
{
public Test1()
{
Console.WriteLine("c");
}
}
实例化的时候{
static Test()
{
Console.WriteLine("a");
}
public Test()
{
Console.WriteLine("b");
}
}
class Test1 : Test
{
public Test1()
{
Console.WriteLine("c");
}
}
Test t = new Test();
Test t1 = new Test();
Test1 t2 = new Test1();
输出为:a,b,b,b,cTest t1 = new Test();
Test1 t2 = new Test1();
静态构造函数只调用了一次。