场景
在开发中,经常会有一些全局作用域的常量、字段、属性、方法等。
需要将这些设置为全局作用域保存且其实例唯一。
注:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
首先新建一个全局的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));
}
}
}
全局方法实现
使用举例
常量使用
Global.常量名
Global.XAXIS_ATTRIBUTE_XPATH
字段使用
字段一般是在Global里配合属性使用
public string CurrCompareDataFile
{
get { return _currCompareDataFile; }
set { _currCompareDataFile = value; }
}
属性使用
Global.Instance.CurrCompareDataFile
方法的使用