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