欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中全局作用域的常量、字段、属性、方法的定义与使用

程序员文章站 2022-04-09 15:30:53
场景 在开发中,经常会有一些全局作用域的常量、字段、属性、方法等。 需要将这些设置为全局作用域保存且其实例唯一。 注: 博客主页: 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();