• 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();
  • 相关阅读:
    前端总结挺全面的
    cmd与bat脚本的使用
    Spring控制反转(IoC)的理解
    C# 中迭代器
    URL 分页并排序
    结合Flash上传文件时显示进度条
    C# 语言特性
    where T:new()
    图片缩放特效
    C# 隐藏窗体 ALT+TAb不可见
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11671886.html
Copyright © 2020-2023  润新知