天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

可選參數在.NET中全面開花

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

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

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

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

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

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

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

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

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

主站蜘蛛池模板: 猫咪www958ii| 日产亚洲一区二区三区 | CHESENGAY痞帅警察GV| 国产精品亚洲国产三区 | 亚洲 欧美 日韩 卡通 另类 | 亚洲综合中文字幕无线码 | 亚洲 综合 欧美在线视频 | 欧美在线亚洲综合国产人 | 妇少水多18P蜜泬17P亚洲乱 | 色多多深夜福利免费观看 | 亚洲欧美韩国综合色 | 蜜桃狠狠色伊人亚洲综合网站 | 在线观看国产精美视频 | 手机在线亚洲日韩国产 | 影音先锋亚洲AV少妇熟女 | aaaaaaa一级毛片 | 俄罗斯aaaa一级毛片 | 久久久精品日本一区二区三区 | 亚洲精品视频在线观看视频 | 欧美午夜精品一区区电影 | 亚洲精品成人无码A片在线 亚洲精品成人久久久影院 亚洲精品成人a在线观看 | 99日精品欧美国产 | 亚洲AV久久无码高潮喷水 | 国产成人a一在线观看 | 日日干夜夜艹 | 美女内射少妇一区二区四区 | 97在线精品视频免费 | 精品国产成人a区在线观看 精品国产成人AV在线看 | 永久免费无码AV国产网站 | 日韩欧美成人免费中文字幕 | 欧美18精品久久久无码午夜福利 | 日本男女动态图 | 激情内射亚州一区二区三区爱妻 | 国产成人免费在线观看 | 最近日本字幕MV免费观看在线 | 美女扒开腿让男生桶爽免费APP | 久热久热精品在线观看 | 亚洲免费一 | 性生生活大片又黄又 | 91欧洲在线视精品在亚洲 | 无码AV动漫精品一区二区免费 |