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();

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM