优秀的编程知识分享平台

网站首页 > 技术文章 正文

你了解静态构造函数吗(静态构造方法)

nanyue 2024-07-26 15:43:30 技术文章 6 ℃

在最近的开发过程中,经常需要静态字段记录一些公共常量,如果我们需要读取配置文件(比如yaml文件)然后赋值给静态字段或者属性。此时就需要用到静态构造函数来对静态属性初始化。那么静态构造函数是什么时候被调用呢?

  1. 静态构造函数的特点
  • 可以用来初始化任何静态的数据
  • 最多只会执行一次
  • 执行过程中,出现异常将不会重复执行
  • 一个类有且只有一个静态构造函数
  • 静态构造函数不能使用修饰符,不能带有参数
  • 静态构造函数的逻辑是线程安全的,无需加锁
  • 静态类不能被继承,静态类是密封的
  1. 静态构造函数的执行时机

静态构造函数是由CLR调用的,调用的时机是当静态类的成员变量被使用的时候。

运行结果:

从运行结果看,静态构造函数在成员变量被使用前初始化,并且只会执行一次

  1. 静态构造函数的执行顺序
  • 静态字段初始化(默认值)
  • 基类静态字段初始化
  • 基类构造函数运行
  • 静态构造函数运行

参考文档:https://learn.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/static-constructors

最近发表
标签列表