zoukankan      html  css  js  c++  java
  • Effective C# 学习笔记(十三)对静态类成员使用合适的初始化方式

    首先,要知道第一次使用某个类的时候,静态构造函数会在所有的方法和变量、属性前执行。在该静态构造函数中初始化静态变量,增强了其单例的特征,并保证了类在使用前必要执行的工作已经执行了。在initializer和静态构造器中权衡的话,若在某个成员变量初始化之前你要做些相关的复杂操作则需要利用静态构造器,

    如当某个单例类的初始化需要添加复杂逻辑时你可以这样做:

    public class MySingleton2

    {

    private static readonly MySingleton2 theOneAndOnly;

    static MySingleton2()

    {

    theOneAndOnly = new MySingleton2();

    }

    public static MySingleton2 TheOnly

    {

    get { return theOneAndOnly; }

    }

    private MySingleton2()

    {

    }

    // remainder elided

    }

     

    但要注意:如果你的静态构造函数出现了异常而且没有被捕获处理的话,处理静态构造函数的CLR会终止你的程序运行。那些调用该类实例化的代码在应用程序域退出前都会出错。利用静态构造函数初始化静态变量,要比用initializer来初始化静态变量更有力些,因为其可以用来捕捉处理构造时的异常。

  • 相关阅读:
    安卓中期小作业
    安卓大作业UI预定搞
    实验3
    实验一总结
    实验8 SQLite数据库操作
    实验6 在应用程序中播放音频和视频
    实验4 颜色、字符串资源的使用
    实验四
    实验三
    实验二
  • 原文地址:https://www.cnblogs.com/haokaibo/p/2098732.html
Copyright © 2011-2022 走看看