日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
VisualC#2010新特性之dynamic類型

在大多數(shù)情況下dynamic和object類型有些相似,但是在編譯時,dynamic類型被假定為支持任何操作,也就是說dynamic類型的對象可以是一個Office對象,可以是一個COM對象或者是DOM對象,而如果在運行時發(fā)現(xiàn)該對象不是期望的對象則會拋出一個運行時異常。

創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,先為株洲等服務建站,株洲等地企業(yè),進行企業(yè)商務咨詢服務。為株洲企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

由于把一個對象定義為dynamic類型,因此在代碼中編寫任意調用在編譯時都是合法的(這一點在聲明為object類型時不能成立)。例如以下代碼能夠通過編譯:

運行后發(fā)現(xiàn)obj并不支持UpdateWordDocument方法,因此會拋出異常:

大多數(shù)動態(tài)類型操作的結果仍是動態(tài)類型,例如編寫如下代碼時智能提示會顯示變量的類型是dynamic:

在包含從dynamic類型到其他類型的轉換,或者將dynamic類型作為構造函數(shù)參數(shù)的操作結果不會返回dynamic類型,例如以下代碼:

此時c不是dynamic類型。

開發(fā)人員可以輕松的在dynamic和非dynamic類型之間轉換,正是由于dynamic類型在編譯時被視為支持任何操作,所在只需要保證它們之間的轉換是正確的數(shù)據類型轉換,否則運行時會發(fā)生錯誤。例如以下代碼:

使用了通過動態(tài)類型參數(shù)的方法會在運行時解析而不是在編譯時解析,在.NET Framework 4 Beta1中引入了新的dynamic language runtime(DLR),它為C#中的dynamic類型提供了支持,而且提供了對諸如IronPython和IronRuby等動態(tài)語言的實現(xiàn)。

Visual C# 2010使用dynamic類型和命名和可選參數(shù)為與COM API交互提供了便利。許多COM方法接收各種類型參數(shù)并且通常會返回object類型值,開發(fā)人員需要進行類型轉換以進行進一步操作。在.NET Framework 4中,如果使用/link開關編譯程序,dynamic類型允許在COM調用時將object類型作為dynamic類型對待,這樣可以避免類型轉換。例如以下代碼(此代碼系摘錄,機器原因未經過本人測試)

【編輯推薦】

  1. C#中對DatagridView的部分常用操作
  2. C#中實現(xiàn)多繼承的方式:混合+接口
  3. 簡述用C#實現(xiàn)優(yōu)先隊列方法

當前題目:VisualC#2010新特性之dynamic類型
分享URL:http://www.dlmjj.cn/article/dpsogie.html