一簡介
本短文將向您展示Visual C# 中新推出的一些功能及增強性特征通過這些新功能的協同工作有利於改進微軟Office可編程性增加您的代碼管理功能並為測試驅動開發提供支持等等有關更多信息請參見文章《Visual Studio 產品亮點展示》下面我們來作逐一介紹CTO NET頻道向您推薦《專家揭秘Visual Basic 的十大新特性》以便於您對整個Visual Studio 及NET 有更全面的了解
二C# 語言及編譯器新特征
(一)動態支持
Visual C# 引入了一種新的數據類型dynamic從而針對動態類型的後期綁定提供了支持這種新數據類型的引入對眾多新的場所提供了支持包括對Office自動化這樣的API如IronPython庫這樣的動態API以及對HTML文檔對象模型(DOM)等眾多類型的COM API的簡化訪問有關詳細信息請參閱《使用動態類型(C#編程指南)》和《dynamic(C#參考)》
(二)Office編程
在訪問COM接口(包括Office自動化相關API)方面Visual C#進一步增強了相應的支持這主要是由於新增加了命名和可選參數動態類型索引屬性以及可選的ref修飾符等等
有關Visual C# Office編程的詳細信息請參閱《如何在COM互操作中使用索引屬性(C#編程指南)》和《如何使用Visual C# 訪問Office互操作對象(C#編程指南)》等文章
(三)類型等價支持
現在您可以部署一個應用程序使之嵌入類型信息而不是從PIA(主互操作程序集)中導入類型信息借助於內嵌的類型信息您的應用程序可以在運行時使用某種數據類型而無需要求使用對運行時程序集的引用如果發布了運行時程序集的各種版本的話那麼包含嵌入式類型信息的應用程序就可以直接使用這各種版本的程序集工作而不必重新進行編譯有關的更多信息請參見《/link(C#編譯器選項)》有關示例請參見《演練從托管程序集中嵌入類型(C#和Visual Basic)》
(四)協變(Covariant)和逆變(Contravariant)
協變功能能夠支持你使用比泛型參數更具體的類型而逆變(contravariance)有助於使用更一般的類型協變和逆變新概念的引入可以使實現變體接口的類進行隱式轉換從而為使用變體委托類型的方法簽名匹配提供更多的靈活性你可以使用in和out關鍵字來建立變體類型的接口和委托新的NET框架還針對幾種現有的泛型接口和委托引進了變體支持這些現有的泛型接口和委托包括IEnumerable<(Of <(T>)>)接口以及Func<(Of <(TResult>)>)和Action<(Of <(T>)>)委托有關更多的信息請參閱《C#和Visual Basic中的協變和逆變功能》
(五)新的命令行選項
新引入的/langversion命令行選項可以使編譯器只接受那些在指定版本的C#中有效的語法
另一個新引入的/appconfig編譯器選項能夠使C#應用程序向編譯器指定程序集的應用程序配置文件所在的位置
三Visual C#集成開發環境
以下各小節中將描述新的Visual Studio集成開發環境(IDE)中的一些增強支持
(一)訪問層次
訪問層次能夠通過顯示如下內容實現在你的整個代碼中進行導航
展示代碼中對某個方法屬性或者構造函數的所有調用同時一並給出在一個給定的方法屬性或者構造函數內部對於所有其他方法屬性或者構造函數的調用情況的層次展示
一個接口成員的所有實現情況
某個虛成員或抽象成員的所有重載情況
訪問層次能夠使您更好地了解代碼流向情況從而更有利於評價代碼變化帶來的影響有關更多信息請參閱《訪問層次》
(二)導航支持
您可以使用導航(Navigate To)功能在源代碼中搜索一個符號或文件您也可以通過使用駝峰式大小寫語法和下劃線字符把符號分解成關鍵字的方式來搜索包含在符號中的關鍵字
更多的信息請參考文章《如何搜索對象定義和引用(符號)》
(三)高亮引用
現在當你單擊源代碼中的一個符號時當前文檔中這個符號對應的所有實例都會高亮顯示為了移動到下一個或上一個高亮顯示的符號你可以在Visual Studio 中使用Ctrl+Shift+↑組合鍵或Ctrl+Shift+↓組合鍵更多的相關信息請參考《如何使用高亮引用》
(四)Generate From Usage特性
Generate From Usage特性能夠使您在定義類和成員之前使用它們在代碼中沒有留下當前位置的情況下你可以為一個你想使用但尚未定義的類構造器函數方法屬性字段乃至枚舉類型創建存根從而最大限度地減少中斷您的工作流程的可能性
Generate From Usage特性支持測試優先型軟件開發這樣的編程風格更多的相關信息請參考《Generate From Usage》和《演練使用Generate From Usage特性支持測試優先型開發》
(五)智能感知提示模式
在新的Visual C# 中智能感知現在提供了兩種選擇以支持智能感知的語句自動完成功能完成模式和建議模式當在定義類及其成員之前使用它們時使用建議模式有關這方面更多的信息請參考這裡
(六)現場語義錯誤提示
現場語義錯誤提示(Live Semantic Errors)功能在Visual C#中得到了增強系統使用波浪型下劃線來指示你輸入的錯誤和警告信息如今該功能已擴展到方法定義以外的那些內容如返回類型參數類型以及方法聲明的默認值等等
四示例應用程序
Visual C#提供了一組新的示例應用程序將向您展示如何利用上述新的C#功能簡化Office編程訪問IronPython庫創建動態對象開發和使用通用的協變(covariant)和反變(contravariant)泛型代理等等有關Visual C#語言示例的更多信息及如何訪問它們請參考《Visual C#示例應用程序》一文
From:http://tw.wingwit.com/Article/program/net/201311/13892.html