静态构造器

静态构造器(static constructor)

  静态构造函数是实现对一个类进行初始化的方法成员. 它一般用于对静态数据的初始化. 静态构造函数不能有参数,不能有修饰符而且不能被调用,当类被加载时,类的静态构造函数自动被调用.

  在一个程序的执行过程中,静态构造器最多只执行一次.

  静态构造器在类的静态成员初始化之后执行.或者说编译器会将静态成员初始化语句转换成赋值语句放在静态构造器执行的最开始.

  静态构造器在任何类的静态成员被引用之前执行.

  静态构造器在任何类的实例变量被分配之前执行.

  下面这个代码,编译器会自动创建一个静态构造器:

  using System ;

  class A

  {

  public static int i=100;

  public A()

  {

  Console .WriteLine ("我是类A的无参构造器");

  }

  }

  再看一段代码:

  using System ;

  class A

  {

  public static int i=100;

  static A()

  {

  Console .WriteLine ("我是类A的静态构造器");

  }

  public A()

  {

  Console .WriteLine ("我是类A的无参构造器");

  }

  }

  class Test

  {

  static void Main()

  {

  A a = new A ();

  A a1 = new A ();

  }

  }

  输出: 我是类A的静态构造器

  我是类A的无参构造器

  我是类A的无参构造器

  * 静态构造器只执行一次.

原文地址:https://www.cnblogs.com/JackieYang/p/1671724.html