场景

在开发中,经常会有一些全局作用域的常量、字段、属性、方法等。

需要将这些设置为全局作用域保存且其实例唯一。

注:

博客主页:
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();

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

  1. python中的os.mkdir和os.makedirs的使用区别,以及如何查看某个模块中的某些字母开头的属性方法

    1 os.mkdir的使用 os.mkdir(dir_name):用于新建文件夹,当要新建的文件夹已经存在的时候,就会报错:FileExistsError: [Errno 17] File exist ...

  2. c/c++中全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域的区别与联系

    C++ 变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为 6 种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域. 从作用域看: 全局变量具有全局作用域.全 ...

  3. JS中Date,String,Array属性方法总结

    Date日期对象 日期对象可以储存任意一个日期,可以精确到毫秒. var myDate=new Date();    //得到的是当前时间 document.write(myDate);   //结果 ...

  4. java定义类属性方法_java定义类、属性、方法

    Java是面向对象的程序设计语言,Java语言提供了定义类.定义属性.方法等最基本的功能.类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将会引用到类的对 ...

  5. C# 字段 属性 方法 三霸主齐上阵

    第三章:使用属性升级MyBank 1.访问修饰符: 访问修饰符 访问权限 访问级别 public 不受任何限制 最高 private 只有类的内部可以使用 最低 2.this关键字 this关键字修饰 ...

  6. 对于数据库中表示状态或类型字段表示方法的思考

    在设计数据库的时候,经常碰到那些表示状态或类型的字段,比如订单的状态,或者支付的类型.要为这一类数据选择合适的数据类型,比较常用的有以下两种方法. 方法一:tinyint+byte(枚举) 数据库中类 ...

  7. vue 怎么全局到入常量_Vue 中如何定义全局的变量和常量(转)

    17.6k 次阅读  ·  读完需要 10 分钟 7 Vue 中如何定义全局的变量和常量 我想要定义一个变量, 在项目的任何地方都可以访问到, 不需要每一次使用的时候, 都引入. 尝试1: 创建 gl ...

  8. SAP ABAP ALV控制显示的网格中的每一个字段属性

    字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.常用的字段如下: row_pos:默认值为0,可选值为1.2.3,既最大分3级别显示 field ...

  9. PHP引用全局作用域中可用的全部变量是,php全局变量之学习笔记

    今天我们参考php官方对php全局变量介绍来理解一下php全局变量一些用法与自己对它的一些思考吧,现在分享出来希望对各位同学有帮助. 一.核心要点思考: 1. 哪些全局变量是过期的及如何处理? 如:u ...

最新文章

  1. linux安装perl编译环境,CentOS7 安装 perl 环境
  2. 【深度学习】深度学习之LSTM
  3. corda_Corda服务的异步流调用
  4. Win32API 数据基本类型
  5. 无法删除所有指定的值_SQL-插入、更新、删除、创建
  6. double-talk检测算法分类
  7. jenkins邮件配置(系统邮件和插件)
  8. 编译Caffe错误:libpython3.5m.a(abstract.o): relocation R_X86_64_32S against
  9. R语言实现PVAR(面板向量自回归模型)
  10. Windows常用快捷键和常用的cmd命令(亲测用了办公效率提升明显)
  11. oracle单表空间预估,使用ARIMA和腾讯的Metis时序数据异常检测来预测系统空间容量变化趋势...
  12. Python爬虫知网
  13. python 列表根据汉字拼音进行排序 / 查询结果集(列表嵌套字典)根据特定key字段拼音进行整体排序
  14. Hi3536调试记录,内核启动
  15. mysql宕机日志查询_Mysql容器异常宕机
  16. kafka如何扩容分区Partition、并重新分区
  17. 电影里的黑客为何都不用鼠标
  18. 热更新Tinker研究(九):Dex文件的patch
  19. 黑客攻防从入门到精通-手机安全篇
  20. AE插件-二维图像创建三维视觉错觉场景特效 Autostereogram

热门文章

  1. java 数组 push pop_JavaScript学习笔记:数组的push()、pop()、shift()和unshift()方法
  2. mysql数据库常见错误码大全
  3. linux如何查看jupyter日志_Mac如何远程连接上Linux下的jupyter notebook
  4. linux centos git 自动更新,centos 升级git到高级版本
  5. solve函数c语言_数值计算方法编程作业(C语言版)汇总
  6. option:contains后面加变量_什么是配置环境变量,配置以后有什么作用呢?
  7. 六年级上学期计算机上册教案,六年级上册数学全册教案
  8. java中6左移2怎么算_(六)Java中的按位运算
  9. dmp导入数据 oracle_DM数据库的安装使用
  10. java怎么获取固定的日期,如何获取一个指定时间的java.util.Date对象