C#中全局作用域的常量、字段、属性、方法的定义与使用
时间:2019-10-14
本文章向大家介绍C#中全局作用域的常量、字段、属性、方法的定义与使用,主要包括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();
原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11671886.html
- P05_kafka_2.9.2-0.8.1集群搭建
- 再探matplotlib
- 分布式系统(Distributed System)资料
- Python性能提升20倍居然不是标题党?
- Spark开发电商日志分析用户行为聚合功能练习下面开始搭建开发环境注意Task表中最后一个列task_param中,Json的StartDate和EndDate需要设置成今天,因为mock数据的时候,
- HDU 3783 ZOJ
- HDU 1412 {A} + {B}
- HDU 2092 整数解
- Hadoop数据分析平台实战——020Hadoop Shell命令(初学跳过)离线数据分析平台实战——020Hadoop Shell命令(可跳过)
- HDU 2080 夹角有多大II
- 二分查找模版
- Hadoop数据分析平台实战——010hadoop介绍安装
- Python为什么文件运行和在命令行运行同样语句但结果却不同?
- HDU 2034 人见人爱A-B
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux文件目录管理命令整理总结
- C++核心准则SF.8:为所有的.h文件使用包含监护
- 利用logsave如何将命令输出保存起来
- CentOs下安装gcc/g++/gdb的方法
- 详解firewall的规则设置与命令(白名单设置)
- 二叉树:构造一棵最大的二叉树
- Ubuntu16.04 ext4格式硬盘挂载普通用户权限控制的操作方法
- Apache Spark 2.0 在作业完成时却花费很长时间结束
- centos 6.9 升级glibc动态库的详细过程
- Ubuntu18.04(linux)安装MySQL的方法步骤
- ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''
- 动态在线扩容root根分区大小的方法详解
- centos7使用rpm安装mysql5.7的教程图解
- 关于Linux命令行下的数学运算示例详解
- Apache访问日志的配置与使用