中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VB.NET擴展方法的概念是什么

發布時間:2021-10-27 17:54:24 來源:億速云 閱讀:318 作者:柒染 欄目:編程語言

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

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

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

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

  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擴展方法的***個參數命名為me,是為了提醒程序員,這個參數在擴展方法起作用之后,就如同實例方法me一樣,當然這不是必須的,只是一種推薦做法。

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

Imports MyExtionsion導入擴展方法之后,就可以使用該擴展方法了:

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

提醒一句,VB.NET擴展方法只是語法糖,沒有必要的擴展***不要使用它。過多的擴展會導致語法清晰,但設計上糟糕的情況出現。請仔細考慮使用這個特性。

看完上述內容,你們對VB.NET擴展方法的概念是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宿州市| 亳州市| 舞阳县| 晋宁县| 河津市| 塔城市| 资源县| 五大连池市| 天水市| 融水| 上饶市| 永安市| 怀柔区| 洛隆县| 东辽县| 贺州市| 隆子县| 麻阳| 尚义县| 扬州市| 五大连池市| 塘沽区| 上林县| 柏乡县| 九台市| 突泉县| 哈尔滨市| 肥城市| 顺平县| 慈溪市| 丹阳市| 神木县| 丹棱县| 横峰县| 泊头市| 新泰市| 贺兰县| 嘉祥县| 军事| 栾川县| 巴塘县|