新聞中心
#t#C#作為Visual Studio的當(dāng)家花旦,每次Visual Studio和.NET Framework的升級都會給她帶來很多激動人心的特性,讓這位微軟力捧的明星更加耀眼奪目。這個Visual Studio 2010 CTP中就包含了C# 4.0的動態(tài)查詢(Dynamic Lookup)、命名參數(shù)/可選參數(shù)、COM互操作簡化等等新特性。

除了語言本身的升級外,在Visual Studio的IDE上微軟也下了功夫,提供了很多實(shí)用的功能,來幫助程序員們高效地開發(fā)越來越復(fù)雜的應(yīng)用。接下來,我們從語言本身和IDE兩個方面,來介紹Visual Studio 2010 CTP所帶來的針對托管語言的新特性。
每次Visual Studio的升級,總是伴隨著大量新的語言特性的引入和IDE的更加高效智能。這些新特性的引入,令無數(shù)跟隨Microsoft的程序員“痛并快樂著”,快樂的是新特性的引入,無疑會提高開發(fā)效率,痛苦的是又要開始學(xué)習(xí)新技術(shù)了,但是不管怎樣,這就是“程序人生”。文章的意義,就是想讓大家的快樂多一點(diǎn)點(diǎn),痛苦少一點(diǎn)點(diǎn),人生就更加美好了。話不多說,開始我們的新歷程吧。
在Visual Studio 2010 CTP中,Visual Basic 10、C# 4.0以及IDE所引入的新特性主要包括:
Visual Basic 10
| 特性 | 描述 |
| 自動實(shí)現(xiàn)屬性 (Auto-Implemented Properties) | 在Visual Basic 10中,我們可以簡單地通過一行就完成標(biāo)準(zhǔn)屬性的定義。自動實(shí)現(xiàn)屬性和 C# 中的相同概念是完全一致的。 |
| 集合初始值設(shè)定 (Collection Initializers) | Visual Basic引入了新的關(guān)鍵字From來簡化集合的初始值設(shè)定,這將大大簡化一些繁瑣的初始化工作。 |
| 隱式換行 (Implicit Line Continuations) | 我們都知道,在Visual Basic中是使用換行符”_”顯式地進(jìn)行換行的?,F(xiàn)在,在很多情況下我們可以不使用換行符”_”而實(shí)現(xiàn)隱式換行。 |
| No-PIA 部署 (No-PIA) | 我們在編寫基于 Microsoft Office 的應(yīng)用程序時,往往需要部署一堆 VSTO 的 Runtime 程序集,但有時候我們編寫一些應(yīng)用程序時,僅僅調(diào)用了這些 Interop 程序集中很少的功能。例如僅僅保存或打開了一個 Excel 表格等,如果每次部署這樣的應(yīng)用程序都需要分發(fā)整個 PIA(Primary Interop Assemblies)的話就顯得多此一舉。在新的 Visual Basic 中,可以將一個 PIA 程序集的屬性設(shè)置為 Embedded 來將其用到的對象引用內(nèi)嵌到我們自己的程序集中,這樣就避免了分發(fā)整個 VSTO Runtime 的臃腫部署方式。 |
| 內(nèi)聯(lián) Lambda 表達(dá)式 (Inline Lambda Expressions) | 在Visual Basic 9中我們使用Lambda表達(dá)式 時,無論是否真正需要,都要一個返回值。在Visual Basic 10中,返回值已經(jīng)不再是必須的,這就更C#保持了一致。 另外,在Visual Basic 10中, Lambda 表達(dá)式可以包含多條語句以處理比較復(fù)雜的邏輯,而無需像以前那樣把邏輯處理交給其他的函數(shù)來處理。 |
C# 4.0
| 特性 | 描述 |
| 動態(tài)類型 (Dynamic Types) | C# 4.0引入了對動態(tài)類型的遲綁定(late binding) ,當(dāng)你得到一個動態(tài)類型的對象時,不管他是來自COM還是IronPython、HTML DOM還是反射,只需要對其進(jìn)行操作即可,運(yùn)行時會幫你指出針對特定的對象,這些操作的具體意義。這將帶來很多新的應(yīng)用,例如簡化對Silverlight應(yīng)用程序中HTML DOM對象的訪問。 |
| 無PIA特性 (No-PIA) | 主互操作程序集(Primary Interop Assembly)是從COM接口生成的大型.NET程序集,用于協(xié)助完成強(qiáng)類型的互操作。無PIA特性允許你在設(shè)計時使用PIA,而無需在運(yùn)行時使用它們。C#編譯器會將程序中實(shí)際用到的PIA中的一小部分直接編譯到程序集中,在運(yùn)行時無需加載PIA,這樣可以簡化程序的部署,同時也可以減少 內(nèi)存的使用。 |
| Office開發(fā) (Office Programmability) | C# 4.0支持命名參數(shù)和可選參數(shù),這將大大簡化COM互操作的語法,使得Office開發(fā)更加簡單。 |
Visual Studio IDE
| 特性 | 描述 |
| 調(diào)用樹 (Call Hierarchy) | 在Visual Studio 2010 CTP中,我們可以從解決方案中的任何一個成員函數(shù)直接跳轉(zhuǎn)到調(diào)用它的函數(shù)或者它所調(diào)用的函數(shù)。這極大地方便了我們理解程序的執(zhí)行流程。 |
| 即用即生成 (Generate from Usage) | 新的代碼編輯器將根據(jù)用戶的使用,在后臺自動地生成新的類型和成員。 |
| 高亮引用 (Highlight Reference) | 在新的代碼編輯器中,我們可以將光標(biāo)停留在標(biāo)識符上,代碼編輯器將高亮所有對應(yīng)的標(biāo)識符引用。使用Ctrl + Shift + Up和Ctrl + Shift + Down組合鍵,我們可以在標(biāo)識符的多個引用之間跳轉(zhuǎn)。這個新特性在我們查找某些對象的使用情況時非常有用。 |
| 快速查找 (Quick Search) | Visual Studio 2010引入了一個簡化后的快速查找對話框,在這個快速查找對話框中,我們可以搜索解決方案中的文件,符號,注釋等等。使用Ctrl+”,”快捷鍵可以調(diào)出這個快速查找對話框。 |
上面關(guān)于托管語言和IDE新特性的介紹,都非常概括而抽象,為了讓大家有一個直觀的感受,下面我們以一些實(shí)際的例子,來為大家展示這些新特性。
文章標(biāo)題:閑扯VisualStudio2010CTP
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/dhcgcco.html


咨詢
建站咨詢
