C# 全局变量的实现
C# 应用程序中,如果要记录登陆用户的用户名、用户等级、用户IP地址等等,或者要记录应用程序的异常情况(如应用程序所在主机无法联网,我们必须把这一状态记录下来以备后续处理;又如应用程序抛出某个路径无法找到的异常,提醒用户进行重新配置,如果用户选择忽略该异常,那么后面再碰到该异常时,应用程序应该直接忽略而不是频繁地提醒用户),这时,我们需要使用到全局变量。就跟ASP网站中登陆后使用SESSION,COOKIE的原理是一样的。
在C/C++中,全局变量是一种可以在程序任何位置上都可以使用的变量,那么C#中有没有类似的全局变量呢?答案上否定的,因为在C#中不存在全局变量这个概念。但是我们可以借签C#中的另外一种技术实现类似于全局变量的概念,既静态类。通过定义静态类的静态字段来记录保存全局状态。
public static class Global
{
private static string mUserName="小明";
public static string UserName
{
get{ return mUserName; }
}
}
这样定义了全局静态类,那么在任何地方都可以使用 Global.UserName 来访问登陆用户的用户名了。