MSDN-静态构造函数

静态构造函数用来初始化任何的静态数据,或者是用来执行只需执行一次的特殊行为。在第一个实例被创建前或者是任何的静态成员被引用时,静态构造函数会被自动调用。
静态构造函数有有以下属性:

  • 静态构造函数不能有访问权限修饰符(public,private,….),也不能有参数
  • 静态构造函数在第一个实例被创建之前或者是任何的静态成员被引用的时候,会被自动调用
  • 静态构造函数不能被直接的调用
  • 用户无法控制静态构造函数什么时候会被调用
  • 静态构造函数的一个典型用法是当一个类正在使用日志文件时,构造函数用于创建文件的写入口
  • 当为非托管代码创建封装类的时候,静态构造函数也非常的有用,例如静态构造函数可以调用LoadLibrary方法
  • 如果静态构造函数抛出异常,运行时就不会再次触发构造函数了

    public sealed class MyTest
    {
        static int a = 10;
        public MyTest()
        {
            Console.WriteLine("This is public MyTest Constructor");
        }
        static MyTest()
        {
            Console.WriteLine("MyTest static Constructor ");
        }
    
        public static void MyTestMethod()
        {
            Console.WriteLine("This is MyTestMethod");
        }
    }
    static void Main(string[] args)
    {
        // Output:
        // MyTest static Constructor
        // This is public MyTest Constructor
        MyTest myTest = new MyTest(); 
        Console.ReadKey();
    }
    
    static void Main(string[] args)
    {
        // Output:
        // MyTest static Constructor
        // This is MyTestMethod
        MyTest.MyTestMethod(); 
        Console.ReadKey();
    }

    MSDN Reference

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值