zoukankan      html  css  js  c++  java
  • C#中全局作用域的常量、字段、属性、方法的定义与使用

    场景

    在开发中,经常会有一些全局作用域的常量、字段、属性、方法等。

    需要将这些设置为全局作用域保存且其实例唯一。

    注:

    博客主页:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    首先新建一个全局的class,名字随意,这里叫Global。

     public class Global
            {
                
            }

    为了保证其单例实现,在类中设置如下

     private static string _lockFlag = "GlobalLock";
            private static Global _instance;
            private Global()
            {
    
            }
    
            public static Global Instance
            {
                get
                {
                    lock (_lockFlag)
                    {
                        if (_instance == null)
                        {
                            _instance = new Global();
                        }
                        return _instance;
                    }
                }
            }

    全局常量实现

    public const int INDENT = 5;
    
    public const string FONT_FAMILY = "宋体";

    全局字段实现

    private string _currCompareDataFile;
    
    private List<DataTreeNode> _compareData = new List<DataTreeNode>();

    全局属性实现

    public string CurrCompareDataFile
            {
                get { return _currCompareDataFile; }
                set { _currCompareDataFile = value; }
            }
     public List<DataTreeNode> CompareData
            {
                get {
                    return _compareData; 
                    }
                set { _compareData = value; }
            }

    注:

    全局字段与属性对应配合使用,上面进行声明,下面进行get和set的设置。

    如果在取值或者赋值时有特殊的设置,还可以

    public string CurrChartTitle
            {
                get
                {
                    if (String.IsNullOrEmpty(this._currDataFile))
                    {
                        return "默认标题";
                    }
                    else
                    {
                        return System.IO.Path.GetFileNameWithoutExtension(String.Format("{0}{1}", this._currDataFile, Global.MAIN_EXT));
                    }
                }
            }

    全局方法实现

     public void Init()
            {
                
            }

    使用举例

    常量使用

    Global.常量名

    Global.XAXIS_ATTRIBUTE_XPATH

    字段使用

    字段一般是在Global里配合属性使用

    public string CurrCompareDataFile
            {
                get { return _currCompareDataFile; }
                set { _currCompareDataFile = value; }
            }

    属性使用

    Global.Instance.CurrCompareDataFile

    方法的使用

    Global.Instance.Init();
  • 相关阅读:
    十分钟了解HTTPS协议
    浅谈程序员的学历
    浅谈前后模板引擎的利与弊
    简单理解预加载技术
    简单理解懒加载技术
    C#.NET里面抽象类和接口有什么区别
    Select count(*)、Count(1)、Count(0)的区别和执行效率比较
    c#中decimal ,double,float的区别
    C#使用log4net记录日志
    SQLServer无法打开用户默认数据库 登录失败错误4064的解决方法
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11671886.html
Copyright © 2011-2022 走看看