概述C#静态构造函数

开发 后端
本文介绍如果没有编写C#静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的C#静态构造函数。
1.用于对静态字段、只读字段等的初始化。       
2.添加static关键字,不能添加访问修饰符,因为C#静态构造函数都是私有的。    
3.类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
4.C#静态构造函数是不可继承的,而且不能被直接调用。      
5.如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。 
6.如果没有编写C#静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的C#静态构造函数。
  1. usingSystem;  
  2. classA  
  3. {  
  4. publicstaticintX;  
  5. staticA()//④执行完后返回到③  
  6. {  
  7. X=B.Y+1;  
  8. Console.WriteLine("staticA()");  
  9. }  
  10. }  
  11. classB  
  12. {  
  13. publicstaticintY=A.X+1;//③调用了A的静态成员,  
  14. //转到A的静态构造函数----> 
  15. staticB()//②如果带有初始值设定项的静态字段,  
  16. //执行该类的静态构造函数时,  
  17. //先要按照文本顺序执行那些初始值设定项。  
  18. //转到初始值设定项----> 
  19. {  
  20. Console.WriteLine("staticB()");  
  21. }  
  22. staticvoidMain()//①程序入口,  
  23. //如果类中包含用来开始执行的Main方法,  
  24. //该类的静态构造函数将在调用Main方法之前执行。  
  25. //转到B的静态构造函数----> 
  26. {  
  27. Console.WriteLine("X={0},Y={1}",A.X,B.Y);//⑤输出结果  
  28. Console.ReadLine();  
  29. }  

【编辑推荐】

  1. C#在应用程序间发送消息实现浅析
  2. 一些C#时间类型的入门知识
  3. C#接口和抽象类技术特点浅析
  4. 一个C#时间计算的实例
  5. C#继承知识详解
责任编辑:佚名 来源: IT168
相关推荐

2009-08-24 18:09:13

C#构造函数

2009-08-20 14:28:00

C#静态构造函数

2009-07-31 15:44:02

C#静态构造函数

2009-08-13 18:02:11

C#静态构造函数

2009-08-13 18:10:31

C#静态构造函数

2009-10-23 11:31:05

CLR Via C#调

2009-07-31 14:08:54

C# 匿名函数

2009-07-31 14:15:38

C# 构造函数

2011-06-11 21:36:44

C#C++

2011-06-14 12:27:38

C#C++

2009-11-17 09:07:55

静态构造函数

2009-09-04 11:15:07

选择C#构造函数

2009-09-17 18:56:22

CLR Via C#

2009-08-14 09:15:28

C#调用构造函数

2010-01-27 16:10:32

C++静态构造函数

2009-07-30 15:24:13

C#析构函数C#构造函数

2009-08-14 17:24:28

C#构造函数和析构函数

2010-01-22 11:13:16

C++静态

2009-08-13 18:15:06

C#继承构造函数

2009-08-13 17:38:42

C#构造函数
点赞
收藏

51CTO技术栈公众号