VB.NET共享變量基礎概念詳解
在這篇文章中將會針對VB.NET共享變量的基本概念進行一個詳細的介紹,希望初學者可以通過本文介紹的內容對這一方面的知識點有一個詳細的認識,并從另一角度提高對VB.NET這一語言認知程度。#t#
我們還可以創建另外一種共享成員。有時候類的所有實例需要共享一個數值,有時候每個特定類型的對象要共享相同的變量,這些時候都可以通過使用共享變量來實現目的。
一個共享變量可以使用Shared關鍵字來聲明,這一點很象共享方法的聲明:
- Public Class MyCounter
- Private Shared
mintCount As Integer - End Class
跟共享方法一樣,我們也可以根據需要來設置共享變量的作用域。在缺省狀態下兩者就不一樣了,共享方法是Public,而共享變量是Private。
總而言之,我們要養成一個好的習慣:定義方法和變量的作用域而不使用缺省值,以避免混亂。
關于共享變量的一件重要的事情是它們在所有類的實例中都是公用。我們可以鍵入如下的代碼來加強我們的類:
- Public Class MyCounter
- Private Shared mintCount
As Integer- Public Sub New()
- mintCount += 1
- End Sub
- Public ReadOnly Property
Count() As Integer- Get
- Return mintCount
- End Get
- End Property
- End Class
仔細看看上面的代碼:當我們為類創建了實例時,計數器就增一。+=操作符是一個在VB.NET新有的。
在任何時候我們可以通過Count屬性來取出count數值。這樣,如果我們運行下面的客戶代碼,我們可以得到結果為3。
- Protected Sub Button4_Click
(ByVal sender As Object, _- ByVal e As System.EventArgs)
- Dim obj As MyCounter
- obj = New MyCounter()
- obj = New MyCounter()
- obj = New MyCounter()
- MsgBox(obj.Count, MsgBoxStyle.
Information,counter)- End Sub
如果我們再次運行這段程序,將可以得到6、9等等。只要我們的應用程序繼續運行計數器就保持有效,也就是說一旦我們結束應用程序計數器就不再起作用。
這項計數對于服務器的處理過程是十分有用的,因為它可以輕松地不停地進行計數。這個數值只有在處理過程重新開始地時候才被復位。
全局變量
對于共享變量另外一個通常的應用是提供了全局變量的類型。給定一個Public作用域的共享變量:
- Public Class TheClass
- Public Shared
MyGlobal As Integer- End Class
我們可以在客戶代碼中使用這個變量。
- TheClass.MyGlobal += 5
這個變量將在我們應用程序的任何地方都是有效的,它提供了一個很好的機理來在組件、類、模塊等等之間來共享數值。