C#静态类的构造函数

有没有解决如何创build静态类的构造函数?

我需要在初始化类时加载一些数据,但是我只需要一个对象。

为此,C#有一个静态构造函数。

static class YourClass { static YourClass() { // perform initialization here } } 

从MSDN开始:静态构造函数用于初始化任何静态数据,或执行需要仅执行一次的特定操作。 它在创build第一个实例或引用任何静态成员之前自动调用。 https://msdn.microsoft.com/en-us/library/k9x6w0hc.aspx

静态构造函数看起来像这样

 static class Foo { static Foo() { // Static initialization code here } } 

第一次使用时只执行一次。 所有类都可以有静态构造函数,而不仅仅是静态类。

静态构造函数

使用静态修饰符声明的构造函数是静态构造函数。 静态构造函数用于初始化静态数据或执行需要在类的生命周期中仅执行一次的特定操作。 静态构造函数是在类中执行的第一个代码块。 静态构造函数在类的生命周期中只执行一次。 它被自动调用。 静态构造函数不带任何参数。 它没有访问说明符。 它不直接调用。

为此, C#有一个静态构造函数

 static class YourClass { static YourClass() { //initialization } } 

是的,一个静态类可以有静态构造函数,并且这个构造函数的使用是静态成员的初始化。

 static class Employee1 { static int EmpNo; static Employee1() { EmpNo = 10; // perform initialization here } public static void Add() { } public static void Add1() { } } 

而静态构造函数只有在访问类名为Class1的静态类的任何types成员时才调用一次

假设你正在访问第一个EmployeeName字段,那么这次调用构造函数,那么即使你将访问相同types的成员,它也不会被调用。

  Employee1.EmployeeName = "kumod"; Employee1.Add(); Employee1.Add(); 

你可以使用静态构造函数来初始化静态variables。 静态构造函数将成为您的类的入口点

 public class MyClass { public static MyClass() { //write your initialization code here } } 

您可以使用Singleton模式来满足您的要求。 请在这里find实现代码。