簡(jiǎn)單說(shuō)明VB.NET默認(rèn)屬性

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

創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、灌陽(yáng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、購(gòu)物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為灌陽(yáng)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

在向大家詳細(xì)介紹VB.NET默認(rèn)屬性之前,首先讓大家了解下TextBox的默認(rèn)屬性是Text,然后全面介紹VB.NET默認(rèn)屬性。在原先的VB6里,有一項(xiàng)奇特的功能——默認(rèn)屬性。在VB6中,對(duì)象的名稱可以直接表示該對(duì)象的默認(rèn)屬性。比如TextBox的默認(rèn)屬性是Text,所以下面的代碼

Text1.Text = "Hello"

就可以簡(jiǎn)化為

Text1 = "Hello"

這種簡(jiǎn)化給VB帶來(lái)了很多麻煩,賦值運(yùn)算就需要兩個(gè)關(guān)鍵字——Let和Set,結(jié)果屬性過(guò)程也需要Let和Set兩種。而且這種特征在后期綁定的時(shí)候仍能工作。到了VB.NET,這項(xiàng)功能被大大限制了,現(xiàn)在只有帶參數(shù)的屬性才可以作為默認(rèn)屬性。如

List1.Item(0) = "Hello"

可以簡(jiǎn)化為

List1(0) = "Hello"

這種語(yǔ)法讓有默認(rèn)屬性的對(duì)象看起來(lái)像是一個(gè)數(shù)組。那么VB怎么判斷一個(gè)屬性是否是默認(rèn)屬性呢?看下列代碼

Public Class PropTest  Public Property P1(ByVal index As Integer) As String  Get   End Get  Set(ByVal Value As String)   End Set  End Property   Default Public Property P2(ByVal index As Integer) As String  Get   End Get  Set(ByVal Value As String)   End Set  End Property  End Class

P1和P2兩個(gè)屬性基本上完全相同,***的不同是P2帶有一個(gè)Default修飾符。反匯編這個(gè)類以后,可以發(fā)現(xiàn)兩個(gè)屬性完全相同,沒(méi)有任何差異。但是PropTest類卻被增加了一個(gè)自定義元屬性System.Reflection.DefaultMemberAttribute。這個(gè)元屬性指定的成員是InvokeMember所使用默認(rèn)類型,也就是說(shuō)后期綁定也可以使用默認(rèn)屬性??墒俏以囼?yàn)將DefaultMember元屬性手工添加到類型上卻不能達(dá)到讓某屬性成為默認(rèn)屬性的功能??磥?lái)這項(xiàng)功能又是VB的一項(xiàng)“語(yǔ)法甜頭”。但是,VB或C#的編譯器對(duì)別人生成的類的默認(rèn)屬性應(yīng)該只能通過(guò) DefaultMemberAttribute來(lái)判斷,所以我將一個(gè)VB類只用DefaultMemberAttribute指定一個(gè)默認(rèn)方法,不使用 Default,然后將它編譯以后給C#用,果然,C#將它識(shí)別為一個(gè)索引器(indexer)!

感謝各位的閱讀,以上就是“簡(jiǎn)單說(shuō)明VB.NET默認(rèn)屬性”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)簡(jiǎn)單說(shuō)明VB.NET默認(rèn)屬性這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

標(biāo)題名稱:簡(jiǎn)單說(shuō)明VB.NET默認(rèn)屬性
標(biāo)題來(lái)源:http://muchs.cn/article46/gheoeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、微信小程序、網(wǎng)站制作商城網(wǎng)站、做網(wǎng)站定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管