四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

了解 C# 4 中的 Dynamic 關(guān)鍵字

  dynamic 關(guān)鍵字和動態(tài)語言運行時 (DLR) 是 C# 4 和 Microsoft .NET Framework 4 中的重大新增功能。 這些功能在宣布時就引起了人們的極大興趣,并伴隨著許多疑問。 同時人們也給出了很多答案,但這些答案現(xiàn)在已散布于各種文檔以及各種技術(shù)博客和文章之中。 這樣,人們在各種論壇和會議上總是一遍又一遍地提出相同的問題。

  本文全面概述了 C# 4 中新增的動態(tài)功能,并且深入探討了這些功能如何同其他語言和框架功能(例如反射或隱式類型化變量)一起使用。 鑒于已有大量信息可用,我有時會重新使用一些經(jīng)典示例,并提供指向原始源的鏈接。 我還將提供指向相關(guān)內(nèi)容的大量鏈接,供您進一步閱讀。

  什么是“動態(tài)”?

  編程語言有時可劃分為靜態(tài)類型化語言和動態(tài)類型化語言。 C# 和 Java 經(jīng)常被認(rèn)為是靜態(tài)類型化語言的例子,而 Python、Ruby 和 JavaScript 是動態(tài)類型化語言的例子。

  一般而言,動態(tài)語言不執(zhí)行編譯時類型檢查,僅在運行時識別對象的類型。 這種方法有利有弊:代碼編寫起來往往更快、更容易,但同時,由于您不會獲得編譯器錯誤,只能通過單元測試和其他方法來確保應(yīng)用程序正常運行。

  C# 最初是作為純靜態(tài)語言創(chuàng)建的,但 C# 4 添加了一些動態(tài)元素,用以改進與動態(tài)語言和框架之間的互操作性。 C# 團隊考慮了多種設(shè)計選項,但最終確定添加一個新關(guān)鍵字來支持這些功能:dynamic。

  dynamic 關(guān)鍵字可充當(dāng) C# 類型系統(tǒng)中的靜態(tài)類型聲明。 這樣,C# 就獲得了動態(tài)功能,同時仍然作為靜態(tài)類型化語言而存在。 若要了解為何以及如何做出了這樣的決定,請參考 PDC09 (microsoftpdc.com/2009/FT31) 上由Mads Torgersen 撰寫的演示文稿“C# 4 中的動態(tài)綁定”。 尤其是,動態(tài)對象被認(rèn)定是 C# 語言中的“一等公民”,因此沒有用于打開或關(guān)閉動態(tài)功能的選項,并且沒有向 C# 添加過類似于 Visual Basic 中的 Option Strict On/Off 之類的功能。

  當(dāng)您使用 dynamic 關(guān)鍵字時,您就告訴編譯器關(guān)閉編譯時檢查。 網(wǎng)上以及 MSDN 文檔中 (msdn.microsoft.com/library/dd264736) 有大量關(guān)于如何使用該關(guān)鍵字的示例。 下面是一個常見示例:

dynamic d = "test";
Console.WriteLine(d.GetType());
// Prints "System.String".
d = 100;
Console.WriteLine(d.GetType());
// Prints "System.Int32".     

NET技術(shù)了解 C# 4 中的 Dynamic 關(guān)鍵字,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: jenna haze| kaori全部av作品大全| 九一八大案纪实| 老爸的筒子楼 电视剧| 美女自愿戴镣铐调教室| 电影《斯大林格勒》| 最美情侣高清免费观看视频大全| 大团圆李静张娴| 一江春水向东流电影| ctv5| 牵牛花的生长变化记录| 超在线视频| 郭云飞| 程瑶瑶| 电子天平检定规程| 少女灵异日记| 日本电影小小的家| 美国电影《黑吃黑》在线观看| 春天的芭蕾歌词| 花宵道中1| 白鲸 电影| 喜羊羊第一部全集免费| 风间由美电影影片| 五谷丰登图片| 百家讲坛《两宋风云》| 韩绛| trainspotting| 芦苇编剧| 申请采购的请示范文| 影院级电影| hd经典复古性mature| 月亮电影| 1905电影网免费电影| 娇妻与爱女绿帽孕野种| 新手驾到综艺免费观看完整版| 南方车站的聚会| kanako| 电影《忌讳》完整版| 小涛讲电影| 空姐一级毛片| 砌体工程质量验收规范gb50203---2011 |