新聞中心
VB.NET還是比較常用的,于是我研究了一下VB.NET屬性,在這里拿出來和大家分享一下,希望對大家有用。很多人在對屬性的認(rèn)識上產(chǎn)生了一些混亂的概念。其實屬性這個東西絕非人們想象的那么復(fù)雜。讓我們回到最基礎(chǔ)的概念層次上來討論屬性:所謂屬性其實就是暴露了讀/寫接口的類的內(nèi)部所包含的一塊數(shù)據(jù)。按照這個定義,你可能會認(rèn)為你能在類中聲明一個公共變量然后把它稱為一個屬性。當(dāng)然,這種假設(shè)也不是沒有一點道理,不過,類的公共變量所對應(yīng)的技術(shù)術(shù)語應(yīng)該是field(域)。域和屬性之間的關(guān)鍵差別在于接口的包含性質(zhì)上?,F(xiàn)在暫時不對這一差別做具體解釋咱們先明白其語法用途即可,以下介紹VB.NET屬性。

創(chuàng)新互聯(lián)建站成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元定結(jié)做網(wǎng)站,已為上家服務(wù),為定結(jié)各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
在VB6中,屬性由Let、Get和Set程序來定義和操作。而在VB.NET中語法就變了。屬性被組織為單個Property代碼塊,其中針對屬性的寫(Set)和讀(Get)操作設(shè)置了子代碼塊。這一程序起到了類的私有變量之上的抽象層作用。大多數(shù)人習(xí)慣于采用類似公共變量的方式命名這些私有變量,在它們前面加上小寫的前綴字母m或者加上下劃線區(qū)分所關(guān)聯(lián)的屬性(m前綴是VB6中繼承下來的,意思是:“模塊級變量”)。舉一個例子:
- Private _ContactName As String
- Public Property ContactName()
- Get
- Return _ContactName
- End Get
- Set(ByVal Value)
- _ContactName = Value
- End Set
- End Property
我給一個假定的類ContactName創(chuàng)建了一個屬性。為了支持該屬性,我需要在類里設(shè)置一個變量存儲其實際值。ContactName私有變量就是完成這一功能的。只要我獲取或者設(shè)置了該屬性,我就等于間接地使用了該值。
那么,為什么這么做就比使用域更好一些呢?主要的原因是,如果采用域,那么就無法控制寫到變量中的數(shù)據(jù)。比方說,有的人卻偏偏要在整數(shù)域中置入字符串或者給只讀域賦值。在采用屬性的情況下,你可以在Set程序中增加邏輯來保證賦值的有效性。你甚至可以完全省略Set代碼塊把屬性設(shè)置為只讀。
VB.NET屬性真奇妙
最后,.NET還向我們提供了就被稱為屬性的內(nèi)容。如果某個類標(biāo)記為屬性,那么它就被賦予一些特別有意思的專門功能。比如以下的Serializable屬性。
()> - Public Class MyClass
- '該類可以串行化!
- End Class
把以上的類標(biāo)記為屬性之后,不論其處于什么狀態(tài)我都可以獲取其實例并寫出磁盤。在一些任何時候,我就可以對該類去串行化,就好象它始終保存在內(nèi)存中一樣。.NET框架提供了大量的屬性,你甚至可以自VB.NET創(chuàng)建屬性。
當(dāng)前題目:討論奇妙的VB.NET屬性
文章源于:http://m.fisionsoft.com.cn/article/cccecde.html


咨詢
建站咨詢
