程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C# 4.0中的動態類型和動態編程(2)

C# 4.0中的動態類型和動態編程(2)

編輯:關於C語言

C#編譯器允許你通過dynamic對象調用任何方法,即使這個方法根本不存在,編譯器也不會在編譯的時 候報編譯錯誤。只有在運行的時候,它才會檢查這個對象的實際類型,並檢查在它上面GetName()是什麼 意思。動態類型將使得C#可以以更加統一而便利的形式范圍下列對象:

•a. 來自動態編程語 言——如Python或Ruby——的對象

•b. 通過IDispatch訪問的COM對象

•c. 通過反射訪問的一般.Net類型

•d. 結構發生過變化的對象—— 如Html DOM對象

當我們得到一個動態類型的對象時,不管它是來自COM還是IronPython、Html DOM 還是反射,只需要對其進行操作即可,動態語言運行時(DLR)會幫我們指出針對特定的對象,這些操作的 具體意義。這將給我們的開發帶來極大的靈活性,並且能夠極大程度上地精簡我們的代碼。

下面 ,我們就以一個具體實例SilverlightSolution,來演示C# 4.0中的動態編程是如何簡化對Silverlight應 用程序中Html DOM對象的訪問的。

1.安裝Silverlight 2運行時和SDK

為了運行這個實例, 我們需要安裝Silverlight 2運行時和SDK。這些都可以從微軟的網站上直接下載:

Silverlight 2 RTW runtime

Silverlight 2 RTW SDK

另外,因為Visual Studio 2010跟Silverlight的一 些已知的兼容性問題,我們還需要一個擁有管理員權限的賬號來運行Visual Studio 2010 CTP。

2.下載實例項目SilverlightSolution

為了演示C# 4.0的諸多新特性,微軟通過MSDN Code Gallery發布了一個演示C#新特性的實例程序包,我們用到的實例項目SilverlightSolution就在這個程序 包中。我們可以訪問:

http://code.msdn.microsoft.com/csharpfuture

下載這個實例程序包,然後將我們需要的項目SilverlightSolution解壓到C盤根目錄下。

3.編譯並運行實例項目

我們用管理員身份啟動Visual Studio CTP,然後打開SilverlightSolution項目,如果一切正常,我 們可以得到一個空的Silverlight程序頁面:

圖1 初始頁面

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved