今天花了一些时间把静态构造函数的用法总结了一下,希望高手们指点。谢谢!

  • 静态构造函数既没有访问修饰符,也没有参数。

  • 如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。

  • 在创建第一个类实例或任何静态成员被引用时,.NET将自动调用静态构造函数来初始化类,也就是说我们无法直接调用静态构造函数,也就无法控制什么时候执行静态构造函数了。

  • 如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。

  • 如果类中的静态字段带有初始化,则静态字段的初始化语句将在静态构造函数之前运行。

  • 一个类只能有一个静态构造函数。

  • 无参数的构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。

  • 最多只运行一次。

  • 静态构造函数不可以被继承。

  • 示例代码如下:

运行的结果是:

static A()

static B()

X=1,Y=2

转载于:https://www.cnblogs.com/tianguook/archive/2013/01/07/2848931.html

C#静态构造函数总结相关推荐

  1. [转载]静态构造函数

    静态构造函数的理解     class Program     {         static void Main(string[] args)         {             Cacu ...

  2. Effective C# 原则13:用静态构造函数初始化类的静态成员(译)

    Effective C# 原则13:用静态构造函数初始化类的静态成员 Item 13: Initialize Static Class Members with Static Constructors ...

  3. 什么是泛型缓存和静态构造函数?

    泛型:运行原理 1,泛型没有写死类型,调用的时候指定类型,这个是延时声明 2,延时声明,把参数类型的声明推迟到调用, 3,在即时编译中将泛型代码生成了原生代码,根据不同的类型生成不同的副本,等待程序去 ...

  4. 由单例模式学到:静态构造函数和静态字段

    编译器在编译的时候,会事先分析所需要的静态字段,如果这些静态字段所在的类有静态的构造函数,则忽略静态字段的初始化,否则先进行静态字段的初始化.对类的静态成员初始化的顺序取决于在Main函数中的引用顺序 ...

  5. WIN7 UAC/结构体的Equals方法/C# 开发wince程序,窗口上总留有一块空白区域/静态构造函数...

    1. vs2005在win7下通过IIS7调试时,调用dll失败,但在XP下正常.相信是权限问题,请问应该如何解决?能不能设置dll默认以管理员身分运行? 备注:此DLL已注册成功! 回复引用 全部回 ...

  6. 子类如果不实例化则不会调用它自身的静态构造函数

    using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Conso ...

  7. C#构造函数、私有构造函数、静态构造函数与构造函数执行顺序

    https://www.cnblogs.com/ArtofDesign/p/3603986.html 默认构造函数,如果没有为类指定任何构造函数,编译器会自动为类创建一个无参构造函数,用以初始化类的字 ...

  8. c#中的静态构造函数

    静态构造函数是C#的一个新特性,其实好像很少用到.不过当我们想初始化一些静态变量的时候就需要用到它了.这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次.也就是在创建第一个 ...

  9. c#只读字段和常量的区别,以及静态构造函数的使用 .

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

最新文章

  1. android 编程klinon,android - 您尚未接受以下SDK组件的许可协议
  2. 【C#串口编程计划】如何避免关闭串口时软件死锁
  3. RCP中product文件的用法
  4. [PYTHON] 核心编程笔记(18.多线程编程)
  5. 面试之作用域链与闭包
  6. ECharts+BaiduMap+HT for Web网络拓扑图应用
  7. SDN火爆!未来五年年复合增长率达98%
  8. 新秀发挥云17号:RHEL改变以太网地址克隆虚拟机后,
  9. es6继承 vs js原生继承(es5)
  10. C# 操作IIS方法集合
  11. Codeforces Round #383 Div 1题解
  12. GBDT+LR算法入门理解
  13. 两个音轨合并_怎样将两个音频合并在一起?超详细教程!
  14. windows2008 FTP下载“当前的安全设置不允许”的解决方法
  15. java中的switch case语句
  16. 论文转换成引用的参考文献格式
  17. html 常用标签、特殊符号
  18. 基于华视身份证读卡器读取身份证信息的Android demo
  19. android bp文件_理解Android.bp
  20. linux平台下苹果打包研究

热门文章

  1. Spring+ehcache缓存实例
  2. Codeforces Round #321 (Div. 2) B. Kefa and Company (尺取)
  3. .NET开发不可错过的25款必备工具
  4. Python为何如此优秀?斯坦福教授告诉你!
  5. 诺基亚将携手Nedaa在迪拜设立IoT实验室
  6. centos7配置haproxy
  7. 两台服务器实现会话共享
  8. Debug javascript inside jsp page 调试jsp嵌入的js
  9. fdopen()和fileno()函数
  10. JavaScript--在页面的下拉框控件中遍历出日期--先天下能力工场