溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

VB.NET的缺省屬性是什么意思

發(fā)布時(shí)間:2021-06-18 09:49:13 來(lái)源:億速云 閱讀:182 作者:chen 欄目:編程語(yǔ)言

這篇文章主要講解了“VB.NET的缺省屬性是什么意思”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“VB.NET的缺省屬性是什么意思”吧!

VB.NET還是比較常用的,于是我研究了一下VB.NET使用缺省屬性,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。在VB6中創(chuàng)建類的時(shí)候,我們可以為類聲明一個(gè)缺省的方法或者屬性。具體做法可以菜單選項(xiàng):Tools(工具)->Procedure Attributes(過(guò)程屬性)并設(shè)置Procedure ID為缺省值。

VB.NET用兩種方法改變了這種行為。***,使用一個(gè)缺省的關(guān)鍵字來(lái)創(chuàng)建缺省屬性,使得聲明更加清晰直觀。但是,VB.NET還給缺省屬性引入了一種新的限制,即屬性必須是一個(gè)屬性陣列。

屬性陣列實(shí)際上就跟數(shù)組一樣,有一個(gè)索引。在選擇或者列表對(duì)象中的項(xiàng)目屬性就是一個(gè)例子:

strText = MyList.Item(5)

這個(gè)項(xiàng)目屬性沒(méi)有單一的數(shù)值,而是有一組的屬性,它們可以通過(guò)索引來(lái)訪問(wèn)。通過(guò)使用屬性陣列作為缺省屬性,我們就允許程序語(yǔ)言避免了在VB.NET使用缺省屬性的多義性。正如我們?cè)赩B6中所知道的,關(guān)鍵字Set的限制是關(guān)鍵。下面再看看以下的語(yǔ)句:

MyValue = MyObject

這句是指對(duì)象MyObject還是指它的缺省屬性呢?為了識(shí)別它,在VB6中使用了Set命令來(lái)處理對(duì)象,如不使用Set就是指缺省屬性。在VB.NET中這條語(yǔ)句是指對(duì)象,因?yàn)槿笔傩允且凰饕摹榱说玫饺笔傩?,我們要編寫以下代碼:

MyValue = MyObject(5)

因?yàn)樗饕且粋€(gè)清楚的指示器(我們指缺省屬性,而不是MyObject本身),所以就不會(huì)有多義的存在了。VB.NET這樣的改變就意味著屬性陣列過(guò)程必須接收一個(gè)參數(shù)。例如:

Private MyMoney(100) As String  Default Public Property Money(ByVal Index As Integer) As String  Get  Money = MyMoney(index)  End Get  Set  MyMoney(index) = Value  End Set  End Property

***,看起來(lái)這些代碼比VB6更清楚,但也會(huì)丟失了一些靈活性。在過(guò)去,我們喜歡VB.NET使用缺省屬性。舉個(gè)例子,我們?cè)谟肎UI控件的時(shí)候經(jīng)常VB.NET使用缺省屬性,比如缺省的文本屬性。

TextBox1 = MyText

但是這在VB.NET中已經(jīng)不再有效,因?yàn)槲谋緦傩圆辉偈且粋€(gè)屬性陣列,相反地我們必須使用屬性名字。

感謝各位的閱讀,以上就是“VB.NET的缺省屬性是什么意思”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)VB.NET的缺省屬性是什么意思這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI