VB.NET擴(kuò)展方法的概念是什么

今天就跟大家聊聊有關(guān)VB.NET擴(kuò)展方法的概念是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

在突泉等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作專業(yè)公司,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站制作,突泉網(wǎng)站建設(shè)費(fèi)用合理。

VB.NET編程語言的出現(xiàn),在開發(fā)領(lǐng)域中起了很大的作用。它從出現(xiàn)至今,已經(jīng)發(fā)展了各種版本,而且每一版本的出現(xiàn)都會給我們帶來不一樣的體驗。下面就一起來看看VB.NET擴(kuò)展方法在新版本中的功能吧。

Visual Basic 9.0支持新一代語言集成的查詢功能,支持在DLinq的數(shù)據(jù)對象或者XLinq的XML數(shù)據(jù)上實施關(guān)系型的查詢,這些查詢是利用DLinq或者XLinq相關(guān)對象上一組方法(或者叫算符)來實現(xiàn)的。而vb9的開發(fā)人員認(rèn)為這套查詢方法也應(yīng)該能用于現(xiàn)有的對象數(shù)據(jù)組織方式,比如IEnumerable和其他集合。因此,Visual Basic 9.0需要一種從外部給現(xiàn)有類型增加方法的功能,這就是VB.NET擴(kuò)展方法。

VB.NET擴(kuò)展方法其實是一種編譯器后臺翻譯的方法,原本是接受t類型參數(shù)的方法,可以用t類型成員的語法寫出。這個語法僅用于類庫設(shè)計者使用,不宜亂用,所以visual Basic 9.0不提供特別的語法支持,類庫設(shè)計者只需要把相應(yīng)的Attribute置于聲明擴(kuò)展方法的模塊與方法上即可。

  1. < Extension()>Module MyExtensionModule MyExtension  

  2. < Extension()> _  

  3. Public Function Count()Function Count(Of T)([Me] As 
    IEnumerable(Of T))As Integer  

  4. For Each Dim item In [Me]  

  5. Count += 1  

  6. Next  

  7. End Function  

  8. End Module 

注意,我們把VB.NET擴(kuò)展方法的***個參數(shù)命名為me,是為了提醒程序員,這個參數(shù)在擴(kuò)展方法起作用之后,就如同實例方法me一樣,當(dāng)然這不是必須的,只是一種推薦做法。

擴(kuò)展方法要起作用,并不是沒有條件的,如果誰都擴(kuò)展framework中的方法,就會亂成一鍋粥了。因此規(guī)定,需要用imports語句導(dǎo)入擴(kuò)展方法所在的模塊,才能讓擴(kuò)展方法起作用。

Imports MyExtionsion導(dǎo)入擴(kuò)展方法之后,就可以使用該擴(kuò)展方法了:

Dim arr = {1, 2, 3, 4, 5}  Dim length = arr.Count  '以上一句會被自動翻譯成  'Dim length = MyExtionsion.Count(arr)

提醒一句,VB.NET擴(kuò)展方法只是語法糖,沒有必要的擴(kuò)展***不要使用它。過多的擴(kuò)展會導(dǎo)致語法清晰,但設(shè)計上糟糕的情況出現(xiàn)。請仔細(xì)考慮使用這個特性。

看完上述內(nèi)容,你們對VB.NET擴(kuò)展方法的概念是什么有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁標(biāo)題:VB.NET擴(kuò)展方法的概念是什么
鏈接分享:http://muchs.cn/article4/ishooe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作Google、關(guān)鍵詞優(yōu)化、動態(tài)網(wǎng)站網(wǎng)站設(shè)計公司、虛擬主機(jī)

廣告

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

網(wǎng)站托管運(yùn)營