预览:Visual Basic与C#中的异步语法

  在最近的博客文章中,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#中的异步语法,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。