一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

可選參數(shù)在.NET中全面開花

  .NET一直都支持可選參數(shù),但是C#語言卻并不支持,除了調用COM庫以外,可選參數(shù)通常是被禁止使用的。現(xiàn)在,隨著C# 4對可選參數(shù)的支持,我們可以看到可選參數(shù)被越來越多的使用,而不僅僅限于遺留代碼中。這些應用包括與動態(tài)語言的互操作、只讀數(shù)據(jù)類型,以及ASP.NET MVC中的許多地方。

  顯然,COM仍然是可選參數(shù)的主要用武之地。例如,當你使用Office庫時,某個函數(shù)可能會有超過20個參數(shù),手動指定每一個參數(shù)是非常不方便的。如果再沒有輔助的標記,你就只能通過數(shù)參數(shù)的個數(shù)來確定哪個值對應的是哪個參數(shù)了,這非常容易出錯。對于不熟悉COM的人,你可以想象一下從前主流語言不支持函數(shù)重載時的情景,那是一樣的感覺。由于包含可選參數(shù)的函數(shù)和一般的函數(shù)沒有區(qū)別,因此可以很好的解決這個問題。

  除了COM之外,C#團隊還利用C# 4作為晚綁定的途徑來支持DLR。事實上,這才是可選參數(shù)真正的目的,其他都是附帶的便利。由于動態(tài)語言沒有顯式的類型聲明,無法基于參數(shù)類型進行函數(shù)重載,因此可選參數(shù)是非常必要的。

  隨著多核、多處理器計算機的增長,對于同步與并發(fā)的討論也越來越多。只讀數(shù)據(jù)類型以及如何定義它們成為了一個普遍的話題。如果類型中的每個字段都需要被設置,那么標準的構造函數(shù)就可以解決問題。但如果類型中的大部分字段都是可選的,就比較麻煩了。重載構造函數(shù)可以解決一部分問題,而對于使用Java或者舊版本C#的人來說,他們可能會更傾向于使用Builder模式。但如果有了可選參數(shù),只需要一個構造函數(shù)就可以解決問題了。ASP.NET MVC 2中的Controller現(xiàn)在可以為query string參數(shù)設置默認值了。雖然你也可以使用attribute來設置,但可選參數(shù)是最簡潔的辦法。

  微軟為ASP.NET MVC推出的新視圖引擎Razor,在helper方法中使用了可選參數(shù)。這讓helper可以包含更多選項的同時,也支持自說明的編碼風格。此外,Razor還會自動將表達式轉換為委托,而不需要使用lambda或匿名委托的語法。

  還有一些我們永遠都不希望使用可選參數(shù)的地方。CLS定義了CLR的一個子集,所有.NET語言都要支持這個子集。CLS就明確定義,不可以依賴可選參數(shù)。這意味著可選參數(shù)將不會出現(xiàn)在BCL中,而且可能也不會出現(xiàn)在今后所有.NET Framework包含的類庫中。但對于CodePlex上的非官方類庫來說,這條規(guī)則不需要嚴格遵守。

  查看英文原文:Optional Parameters Are Gaining Ground in .NET

NET技術可選參數(shù)在.NET中全面開花,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品视频免费看 | 视频国产在线 | 婷婷丁香五月中文字幕 | 色吧综合| 精产国品一二二区视 | 日韩成人免费在线 | 亚洲伦理一区二区 | 午夜视频免费观看 | 91精品国产91 | 亚洲欧美成人永久第一网站 | 中文字幕日产每天更新40 | 亚洲精品视频二区 | 精品国产精品国产偷麻豆 | 国产综合色在线视频 | 不卡国产00高中生在线视频 | 精品伊人久久久大香线蕉欧美 | 丁香婷婷基地 | 欧美精品无需播放器在线观看 | 亚洲区小说区图片区qvod伊 | 精品久久亚洲一级α | 国产一级毛片午夜福 | 午夜国产在线观看 | 激情欧美人xxxxx | 国产精品秒播无毒不卡 | 国产级a爱做片免费观看 | 国产亚洲高清在线精品99 | 一级毛毛片毛片毛片毛片在线看 | 中文一区在线观看 | 激情综合丝袜美女一区二区 | 美女毛片免费 | 天天舔天天色 | 欧美激情国产一区在线不卡 | 久久中文字幕久久久久 | 美女视频一区二区三区 | 亚洲一区在线视频观看 | 四色成人网 | 国产91边对白在线播放 | 国产成人免费高清视频网址 | 一本大道久久香蕉成人网 | 激情文学综合 | 午夜视频在线观看网站 |