场景

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

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

注:

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

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. c#基础3-方法的重载静态和非静态,字段属性,方法

    方法的重载概念:方法的重载指的就是方法的名称相同给,但是参数不同.参数不同,分为两种情况1).如果参数的个数相同,那么参数的类型就不能相同.2).如果参数的类型相同,那么参数的个数就不能相同.***方 ...

  2. C#-类 字段 属性 方法 特性

    方法的签名 包括参数个数.参数类型.方法返回值 base和this关键字 1.使用base关键字,就可以使用父类中的字段.属性.方法 2.一旦父类中存在有参数的构造函数,那么子类就必须使用base来覆 ...

  3. python中的静态方法、类方法、属性方法(福利:关于几种方法更好的解释)

    该部分的三个属性都是高级方法,平时用的地方不是很多 一.静态方法 静态方法的使用不是很多,可以理解的就看一下,用的地方不是很多 class Dog(object): def __init__(self ...

  4. js中__proto__, property, prototype, 对象自身属性方法和原型中的属性方法的区别

    __proto__: 这个属性是实例对象的属性,每个实例对象都有一个__proto__属性,这个属性指向实例化该实例的构造函数的原型对象(prototype). proterty:这个方法是对象的属性 ...

  5. [JavaScript] js中全局标识正则表达式的lastIndex属性

    在JavaScript中使用正则表达式时,遇到一个坑:第一次匹配是true,第二次匹配是false. 因为在带全局标识"g"的正则表达式对象中,才有“lastIndex” 属性,该 ...

  6. power designer中查看表sql去掉字段属性双引号设置

    把Database → Edit Current DBMS → General → Script → Sql → Format → CaseSensitivityUsingQuote设置为NO

  7. C#常量字段

    const 常量字段使用方法 using System;using System.Collections.Generic;using System.Linq;using System.Text;usi ...

  8. 关于JavaScript全局作用域和函数作用域的拙见

    在类c的语言中,用{}引起来的部分称为块级作用域,而在JS中没有块级作用域 作用域:一个变量作用的范围:中Js中一共有两种作用: 全局作用域 - 直接编写在script标签中的JS代码,都在全局作用域 ...

  9. PHP中的变量与常量详解

    几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...

随机推荐

  1. Python通用函数实现数组计算

    一.数组的运算 数组的运算可以进行加减乘除,同时也可以将这些算数运算符进行任意的组合已达到效果. >>> x=np.arange() >>> x array([, ...

  2. ucoreOS_lab4 实验报告

    所有的实验报告将会在 Github 同步更新,更多内容请移步至Github:https://github.com/AngelKitty/review_the_national_post-graduat ...

  3. PHP将数组转字符串

    implode(',',$arr) //将数组转字符串 $arr = [ 'a'=>1, 'b'=>2, 'c'=>3, ]; $arr_string = implode(',',$ ...

  4. Django框架(二十四)-- Django rest_framework-路由控制与响应器

    一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishView.as_vie ...

  5. liteos C++支持(十七)

    1 概述 1.1 基本概念 C++作为目前使用最广泛的编程语言之一,支持类.封装.重载等特性,是在C语言基础上开发的一种面向对象的编程语言. 1.2 运作机制 STL(Standard Templat ...

  6. Linux 安装并配置zsh

    1. 安装zsh,配置agnoster主题 1.1 安装zsh $ sudo apt-get install -y zsh 1.2 安装oh-my-zsh $ sh -c "$(curl - ...

  7. Ubuntu 18.04安装Conda、Jupyter Notebook、Anaconda

    1.Conda是一个开源的软件包管理系统和环境管理系统,它可以作为单独的纯净工具安装在系统环境中,有的python库无法用conda获得时,conda允许在conda环境中利用Pip获取包文件.可以将 ...

  8. html学习之二(常用标签练习)

    <!DOCTYPE html><head> <meta charset="utf-8"> <title>锚点链接</title ...

  9. ipvsadm用法

    其实LVS的本身跟iptables很相似,而且连命令的使用格式都很相似,其实LVS是根据iptables的框架开发的,那么LVS的本身分成了两个部分: 第一部分是工作在内核空间的一个IPVS的模块,其 ...

  10. Semantic 3D

    Semantic 3D 这个数据级别的训练集有一个小BUG,是这个neugasse_station1_xyz_intensity_rgb.7z, 解压之后的名字是station1_xyz_intens ...