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();
  • 相关阅读:
    Codeforces Global Round 17
    [UER #6] 逃跑
    [模板] 一般图最大匹配
    Codeforces Global Round 18
    Flash/Flex学习笔记(50):3D线条与填充
    Flash/Flex学习笔记(47):反向运动学(上)
    Flash/Flex学习笔记(46):正向运动学
    Flash/Flex学习笔记(49):3D基础
    Flash/Flex学习笔记(51):3维旋转与透视变换(PerspectiveProjection)
    Flash/Flex学习笔记(54):迷你滚动条ScrollBar
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11671886.html
Copyright © 2011-2022 走看看