在C#中 一个类 有静态构造函数,在首次实例化该类或任何的静态成员被引用时,.NET自动调用静态构造函数来初始化该类。注意是“首次”,即继续实例化该类时,不会调用该类的静态构造函数。
看代码:
public class Student { public static string Instance { get { return ".instance"; } } public Student() { Console.WriteLine("Student"); } static Student() { Console.WriteLine("static Student"); } }
class Program { static void Main(string[] args) { var stu = new Student(); Console.WriteLine(Student.Instance); Console.ReadLine(); } }
查看运行结果: