Share via


Visual Studio 2012 中的 Visual Basic 的新功能

本頁面列出 Visual Studio 2012 中的 Visual Basic 提供的新功能及增強功能。

您可以使用 Visual Studio 2012,如需如何建立 Windows 市集 應用程式的詳細資訊, 開發 Windows 存放應用程式的 Visual Studio 2012 中請參閱

用於功能

用於初始化 新功能提供了一種正常地簡單的技術可以讓程式碼非同步。 這項功能讓非同步程式設計幾乎相同直接與同步處理的程式設計。

當您的使用者介面沒有回應時或您的伺服器不會縮放,很可能需要您的程式碼更為非同步的。 撰寫非同步程式碼傳統上有關安裝回呼 (也稱為"接續") 表示發生的邏輯,在非同步作業完成之後。 與同步程式碼進行比較,這可讓非同步程式碼變得更複雜的結構。

用於功能,您現在可以呼叫非同步方法,而不需使用回呼和,而不需要分割成跨多個方法或 Lambda 運算式的程式碼。

Async 修飾詞的指定方法是非同步的。 當呼叫 Async 方法時,工作會傳回。 當呼叫 Await 陳述式對照工作時,目前的方法會立即結束。 當工作完成時,會在同一個方法復原。

呼叫方法 Async 未配置任何額外的執行緒。 它可能會簡單地使用現有的 I/O 完成執行緒會結束。

如需詳細資訊,請參閱使用 Async 和 Await 設計非同步程式 (C# 和 Visual Basic)

Iterator

Iterator 是用來在集合中的自訂反覆項目 (如清單或陣列。

Iterator 使用 Yield 陳述式會傳回集合中的每個項目一次。 當 Yield 到達陳述式時,目前位置在程式碼中保留。 執行與該位置下一次重新啟動 Iterator 函式呼叫。

您可以使用 For Each…Next 陳述式,您會從用戶端程式碼的 Iterator。

Iterator 在 Visual Studio 2005 中的 C# 中引入。

如需詳細資訊,請參閱Iterator (C# 和 Visual Basic)

呼叫階層

「呼叫階層架構」(Call Hierarchy) 藉由顯示下列項目,讓您可以巡覽程式碼:

  • 將所選取之方法、屬性或建構函式的所有呼叫。

  • 介面成員的所有實作。

  • 覆寫虛擬或抽象成員。

呼叫階層架構如何讓您更加了解程式碼的程序和評估所產生的影響到程式碼。

呼叫階層 Visual Studio 2010 中的 C# 中引入。

如需詳細資訊,請參閱呼叫階層

呼叫端資訊。

這個 Visual Basic 版本中加入可讓您輕鬆地取得方法之呼叫端的資訊的功能。 使用 呼叫端資訊屬性,可以識別原始程式碼行號、原始程式碼和呼叫端的成員名稱的檔案路徑。 這項資訊來追蹤,以及建立診斷工具非常有用。

如需詳細資訊,請參閱呼叫端資訊 (C# 和 Visual Basic)

在命名空間中陳述式的全域關鍵字

您可以在 Namespace 陳述式現在可以使用 Global 關鍵字。 這可讓您定義命名空間中的專案以外的根命名空間。

如需詳細資訊,請參閱Visual Basic 中的命名空間

程式碼編輯器

  • IDE 會自動將不再插入不指定 ByVal 或 ByRef參數的 ByVal 修飾詞。 如果 ByValByRef 或未指定,ByVal 還是預設值。

  • 使用自動產生的程式碼,則為,如果命名空間在 Imports 陳述式 (.NET 命名空間和型別)專案設計工具、參考頁 (Visual Basic)的 [匯入的命名空間。] 部分, IDE 不再插入完整名稱類型。

    Visual Studio 2012

    Private Sub Button1_Click(sender As Object, e As RoutedEventArgs) Handles Button1.Click
    

    Visual Studio 2010

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    

連接範例

您可以使用 Visual Studio 下載並安裝完整範例,請從封裝的 MSDN Code GalleryVisual Basic 應用程式。

您可以個別下載每個範例,您也可以下載範例套件,其中包含相關範例共用技術或主題。 您會收到通知,當原始程式碼變更為您下載的所有範例發行。

如需詳細資訊,請參閱存取線上範例

請參閱

概念

Visual Studio 2012 的新功能

.NET Framework 4.5 的新功能