场景

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

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

注:

博客主页:
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. charles突然不能抓取PC请求解决办法

    我在使用charles的时候,突然一天不能抓取PC请求了,原来是我本地开启了手动代理设置,且手动代理的端口号和charles的端口号不一致导致.

  2. Java 数学操作类

    数学操作类 Math类 数学计算操作类 类属性值 Math.E ^ Math.PI 圆周率 类方法 Math类中,一切方法都是 static 型,因为Math类中没有普通属性. round() 方法 ...

  3. JavaScript初探 三 (学习js数组)

    JavaScript初探 (三) JavaScript数组 定义 创建数组 var 数组名 = [元素0,元素1,元素2,--] ; var arr = ["Huawei",&qu ...

  4. WindowServer优化

    Windows Server 2016 禁止自动更新 1. 打开cmd,输入sconfig,出现如下图: 2. 输入5回车,在输入m回车,完成关闭自动更新.

  5. 版本管理·玩转git(分支管理)

    在开发中,遇到这样的情况怎么办? 网站已有支付宝在线支付功能,要添加"微信支付",修改了两个文件,wechat.php.pay.php. 刚做到一半,突然有个紧急bug:支付宝支付 ...

  6. Android JS打开原生应用

    设置App通过网页JS,唤醒打开本地应用. 在AndroidManifest 中,在应用启动页配置下,添加android:exported="true",设置category 添加 ...

  7. [b0031] python 归纳 (十六)_线程同步_锁

    # -*- coding: utf-8 -*- """ 学习 多线程同步 使用锁 threading.Lock() 逻辑: 2 个线程,操作同一个整型变量,一个加法,另外 ...

  8. HOW TO: Setting up Encrypted Communications Channels in Oracle Databas

    access_timeSeptember 22, 2015 person_outlineMartin Rakhmanov share In this article, I will explain h ...

  9. Bitbucket与git上传源码的使用方法

    本文链接:https://blog.csdn.net/nomisshe/article/details/19625555 Bitbucket使用方法   一.软件及SSH keys: 由于我的Bitb ...

  10. itest(爱测试) 3.5.0 发布,开源BUG 跟踪管理& 敏捷测试管理软件

    v3.5.0 下载地址 :itest下载 itest 简介:查看简介 V3.5.0 增加了 9个功能增强,和17个BUG修复 ,详情如下所述. 9个功能增强 : (1)增加xmind(思维导图) 转E ...