静态构造函数用于初始化任何静态数据,或执行仅需执行一次的特定操作。 将在创建第一个实例或引用任何静态成员之前自动调用静态构造函数。

静态构造函数的属性

1. 静态构造函数不使用访问修饰符或不具有参数。
2. 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数以初始化类。
3. 不能直接调用静态构造函数。
4. 用户无法控制在程序中执行静态构造函数的时间。
5. 静态构造函数的一种典型用法是在类使用日志文件且将构造函数用于将条目写入到此文件中时使用。
6. 静态构造函数对于创建非托管代码的包装类也非常有用,这种情况下构造函数可调用 LoadLibrary 方法。
7. 如果静态构造函数引发异常,运行时将不会再次调用该函数,并且类型在程序运行所在的应用程序域的生存期内将保持未初始化。

C#中静态构造函数的举例

public class A{
public static void GlobalInit() {
Console.WriteLine("执行静态方法");
}
static A() {
Console.WriteLine("执行静态构造函数方法");
} public A() {
Console.WriteLine("执行构造函数方法");
} public static string name = "测试静态属性";
}
class Program
{
static void Main(string[] args)
{
new A();
A.GlobalInit();
Console.WriteLine(A.name);
new A();
Console.WriteLine("测试结束!");
Console.Read();
}
}

执行结果

最新文章

  1. tkinter 的两个例子
  2. DeviceFamily XAML Views(一)
  3. fiddler 无法捕获apache httpclient报文的问题及解决
  4. 解读SQL 内存数据库的细节
  5. f4: Facebook’s Warm BLOB Storage System——Erasure Code
  6. Play on Words[HDU1116]
  7. 剑指Offer:面试题4——替换空格(java实现)
  8. [改善Java代码]覆写变长方法也循规蹈矩
  9. JSON格式转换成XML格式
  10. 根据相同的字段创建或者修改一个Model
  11. Andorid基础_web通信_webView案例
  12. 使用tdload工具将本地数据导入到Teradata数据库中
  13. 笔记:MyBatis XML配置-Settings 完整属性表
  14. Salesforce Sales Cloud 零基础学习(四) Chatter
  15. Linux下批量修改文件名(rename)
  16. 使用 Actuator 监控
  17. [LeetCode] 172. Factorial Trailing Zeroes_Easy tag: Math
  18. Vue 之axios获取Http响应头
  19. Hadoop 系列(二)安装配置
  20. Linux lspci 命令

热门文章

  1. Linux 多进程实现方法
  2. ArcGIS(ESRI)的发展历史和版本历史(简介)
  3. TensorFlow saved_model 模块
  4. hdu3826-Squarefree number-(欧拉筛+唯一分解定理)
  5. python基础学习Day17 面向对象的三大特性之继承、类与对象名称空间小试
  6. 使用yii\filters下的比如\PageCache需要在web.php里面的组件上配置'cache' => [ 'class' => 'yii\caching\FileCache', ],
  7. java开始的笔记
  8. vue router 懒加载实现
  9. js性能提高篇
  10. apache启动报错(98)Address already in use: make_sock: could not bind to address [::]:80