|
在最近的博客文章中,Visual Basic團隊發布了一條簡單的消息,聲稱在Visual Basic和C#中將會增加異步編程語法。兩種語言新增的Async和Await關鍵字的實現將基于.NET 4.0中的任務并行庫(Task Parallel Library,TPL)。
Async關鍵字用于方法,它將啟用方法的異步行為。在這個方法中,Await關鍵字將暫停當前的執行流程,直到當前異步行為結束為止。線程不會因此而暫停,它可以用于處理其他工作,例如UI事件。一旦異步行為結束后,方法的將繼續執行余下部分。
以下是一個典型的WPF或WinForm應用程序中的“搜索”功能:
Private Sub SearchButton_Click
(ByVal sender As Object, ByVal e As RoutedEventArgs)
Handles SearchButton.Click
ProgressBar1.Visibility = Visible
SearchButton.IsEnabled = False
Dim dt As DataTable = Nothing
Dim worker As New BackgroundWorker
AddHandler worker.DoWork, Sub()
PrepareSearch()
worker.ReportProgress(50)
dt = SearchDatabase() End Sub
AddHandler worker.RunWorkerCompleted, Sub()
ResultsGrid.DataContext = dt
ProgressBar1.Visibility = Visible
SearchButton.IsEnabled = True
End Sub
AddHandler worker.ProgressChanged,
Function(a As Object, b As ProgressChangedEventArgs) _
ProgressBar1.Value = b.ProgressPercentage
worker.RunWorkerAsync()End Sub
NET技術:預覽:Visual Basic與C#中的異步語法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。