场景

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

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

注:

博客主页:
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. JS基础语法---分支语句之:switch-case语句---3个练习

    switch-case语句---分支语句---多分支语句 语法: switch(表达式){ case 值1:代码1;break; case 值2:代码2;break; case 值3:代码3;brea ...

  2. SoapUI、Postman测试WebService

    之前装了SoapUI,最近装了Postman,分别用它们测试了WebService,下面为用法. 测试的在线WebService(数据来源于中国气象局)Endpoint: http://www.web ...

  3. tomcat配置通过域名访问项目

    tomcat配置通过域名访问项目,是修改conf/server.xml里面的配置信息实现.具体如下: (1)修改Connector节点的port属性值 <Connector port=" ...

  4. Oracle第二话之调优工具

    Oracle第二话之调优工具 原创if 0 = -I can 发布于2019-04-09 19:53:12 阅读数 172  收藏 展开 目录 1.告警日志 2.用户进程trace文件 3.动态性能视 ...

  5. AtCoder - 2565(思维+暴力)

    题意 https://vjudge.net/problem/AtCoder-2565 将一个H*W的矩形切成三份,每一次只能水平或者垂直切,问最大块的面积-最小快的面积 的最小值是多少. 思路 先枚举 ...

  6. 初识 RESTful API规范

    简介 一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. rest是一种 ...

  7. 高阶JS---函数柯里化

    什么是函数柯里化? 百度百科: 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.通 ...

  8. windows 10 下安装VMware Workstation Pro 15.0(亲测可用!)

    参考链接:https://blog.csdn.net/qq_39016934/article/details/90285915 VMware Workstation Pro 15.0的下载官网:htt ...

  9. java.net.URL类

    package com.mozq.boot.kuayu01.demo; import java.net.MalformedURLException; import java.net.URL; publ ...

  10. Introduction to Semidefinite Programming (SDP)

    https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-251j-introduction-to-mathe ...