在asp.net中應(yīng)用靜態(tài)變量要比application更好的選擇
廬山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
在傳統(tǒng)的asp頁(yè)面中,我們需要利用application變量傳遞一些特殊變量,在asp.net中任何頁(yè)面都可以是類,,Global.asax也不例外。
我們只需要在Global.asax加入類名。
%@ Application Classname="MyGlobals" %
然后我們定義幾個(gè)靜態(tài)變量。
在vb.net中應(yīng)用shared
在C#中應(yīng)用static
VB:
Script language="vb" runat="server"
Public Shared sGreeting as String = "welcome"
/Script
C#
Script language="C#" runat="server"
Public Static String sGreeting = "welcome"
/Script
現(xiàn)在我們?cè)谄渌腶sp.net葉面就可以應(yīng)用類名.變量名就可以在引用他了。
x = MyGlobals.sGreeti
可以實(shí)現(xiàn),類里面的字段或者方法加Shared
Public?Class?Form1
'下面實(shí)現(xiàn)靜態(tài)類
Public?Class?test
Shared?Sub?New()
End?Sub
Public?Shared?Sub?run()
MsgBox("測(cè)試run")
End?Sub
End?Class
'下面測(cè)試
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
'并沒有實(shí)例化一個(gè)類哦
test.run()
End?Sub
End?Class
1.不正確
Dim abc As myClass,定義一個(gè)可以引用myClass類型對(duì)象的變量abc。這個(gè)abc變量存在于棧上。
abc=New myClass。New myClass創(chuàng)建myClass實(shí)例對(duì)象,這個(gè)對(duì)象存在于托管堆上。然后(同時(shí))讓abc引用(指向)這個(gè)對(duì)象。
abc變量在棧上,而對(duì)象在托管堆上。
abc儲(chǔ)存的是對(duì)象的地址,而不是對(duì)象本身。
看下面的代碼
Dim a As myClass,b As myClass,c As myClass
a=New myClass
b=a
c=a
整個(gè)過程中只創(chuàng)建了一個(gè)myClass對(duì)象,位于托管堆上。
三個(gè)myClass類型的變量a、b、c位于棧上,都指向了這一個(gè)myClass對(duì)象
2.類的成員分 實(shí)例成員 和 靜態(tài)成員
實(shí)例成員 必須在實(shí)例對(duì)象上調(diào)用
靜態(tài)成員 可以直接調(diào)用,不需要實(shí)例對(duì)象。