首页  >  文章  >  后端开发  >  C# 中的静态构造函数

C# 中的静态构造函数

王林
王林原创
2024-09-03 15:12:52389浏览

C# 中的静态构造函数是仅在创建类中实现的静态成员的引用期间调用一次的构造函数。静态构造函数的主要功能是初始化类的静态成员,并且仅执行一次。顾名思义,静态构造函数不允许用户显式控制,而是在调用类的实例时自动执行,此外,静态构造函数在其定义中不带任何参数或访问声明,因此它可以不被直接调用。静态构造函数不能被继承或重载,只能由 CLR(公共语言运行时)访问。

C# 中静态构造函数的特点和用途

以下是C#中静态构造函数的一些特性和使用的详细解释:

静态构造函数的功能

以下功能描述了静态构造函数:

  • 用户在运行时对静态构造函数没有任何控制权。这些是在预编译之前在代码中预定义的,并且该值在整个持续时间内保持固定。
  • 静态构造函数操作可以进一步分为两个阶段,即静态数据成员初始化和静态操作执行,它们按定义的顺序发生。
  • 静态方法在其定义中没有任何访问修饰符,因此不能被程序中的其他组件调用。

静态构造函数的用途

静态构造函数主要用于日志程序,用于写入在每个实例期间初始化的参数条目。静态构造函数是创建数据库连接的理想位置,因为它们首先加载并始终保持静态。在 C# 编程语言中,静态构造函数遵循以下语法。

语法:

class ABC
{
//defining the static constructor using the same name as class
static ABC()
{
//constructor specific code comes here
}
}

静态构造函数在 C# 中如何工作?

以下是 C# 中静态构造函数的一些基本工作原理:

  • 当类或类的对象被创建为结构体时,将调用构造函数来创建与该类关联的数据成员。这些构造函数与类具有相同的名称。
  • 为了理解静态构造函数的概念,我们首先需要理解静态方法和类背后的概念。
  • 静态类与常规类不同,因为静态类无法实例化,即不能使用 new 关键字创建类的新实例。
  • 因此无法使用新实例访问该类,需要通过静态类名本身来调用。这些类用于处理输入字段并操作以创建输入参数的初始值和固定值。
  • 顾名思义,静态构造函数用于设置或初始化类构造的预渲染阶段所需的任何静态数据。在创建类的第一个实例或查找任何静态成员的引用之前调用静态构造函数。
  • 因此,可以将静态构造函数定义为在运行时创建的类的第一个实例,这也是单次发生事件,不会再次重复。

实现静态构造函数的示例

以下是 C# 中静态构造函数的一些示例:

示例#1

代码:

using System;
namespace HappyConstructor {
class Happy {
//let us declare and initialise the static data members
private static int id = 7;
public static int Id {
get {
return id;
}
}
public static void printVariable() {
Console.WriteLine("Happy.id = " + id);
}
static void Main(string[] args) {
//let us print the value of ID from the class
Happy. printVariable ();
}
}
}

输出:

C# 中的静态构造函数

说明:上面声明了静态成员id并初始化为初始值10。

示例#2

代码:

using System;
namespace Happy1Constructor {
class Happy1 {
private static int Id;
//data member (id) is set conditionally here to show actions of a Static constructor
static Happy1 () {
if (Happy1.Id < 10) {
Id = 25;
} else {
Id = 1000;
}
Console.WriteLine("Static Constructor for Class Happy Called..");
}
public static void print() {
Console.WriteLine("Happy1.Id = " + Id);
}
public static void Main(string[] args) {
// the value of Id is displayed as
Happy1.print();
}
}
}

输出:

C# 中的静态构造函数

说明: 在上面的示例中,构造函数有条件地依赖于 example1 中生成的 Happy.cs 文件。这里静态构造函数初始化自身。由于第一种情况下生成的 Id 字段的值是 7,并且根据条件运算符,如果该字段的值小于 10,则 Happy1 构造函数的 Id 字段的值应为 25。这是一个经典示例在加载类的第一个实例时初始化静态构造函数。静态构造函数利用此功能来预加载程序引用的输入参数。

结论

静态构造函数用于初始化任何静态数据和/或执行需要为程序执行一次且仅一次的任何特定操作。在启动类的任何对象或将任何成员加载到运行时环境之前调用此构造函数。

以上是C# 中的静态构造函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn