Posted on 2013-04-16 13:19
夢(mèng)想不只是做夢(mèng)想一想 閱讀(1045)
評(píng)論(0) 編輯 收藏
C# 全局變量的實(shí)現(xiàn)
C# 應(yīng)用程序中,如果要記錄登陸用戶的用戶名、用戶等級(jí)、用戶IP地址等等,或者要記錄應(yīng)用程序的異常情況(如應(yīng)用程序所在主機(jī)無法聯(lián)網(wǎng),我們必須把這一狀態(tài)記錄下來以備后續(xù)處理;又如應(yīng)用程序拋出某個(gè)路徑無法找到的異常,提醒用戶進(jìn)行重新配置,如果用戶選擇忽略該異常,那么后面再碰到該異常時(shí),應(yīng)用程序應(yīng)該直接忽略而不是頻繁地提醒用戶),這時(shí),我們需要使用到全局變量。就跟ASP網(wǎng)站中登陸后使用SESSION,COOKIE的原理是一樣的。
在C/C++中,全局變量是一種可以在程序任何位置上都可以使用的變量,那么C#中有沒有類似的全局變量呢?答案上否定的,因?yàn)樵贑#中不存在全局變量這個(gè)概念。但是我們可以借簽C#中的另外一種技術(shù)實(shí)現(xiàn)類似于全局變量的概念,既靜態(tài)類。通過定義靜態(tài)類的靜態(tài)字段來記錄保存全局狀態(tài)。
public static class Global
{
private static string mUserName="小明";
public static string UserName
{
get{ return mUserName; }
}
}
這樣定義了全局靜態(tài)類,那么在任何地方都可以使用 Global.UserName 來訪問登陸用戶的用戶名了。