Asynchronous Lambda Expressions

Methods can be asynchronous, but so can lambda expressions. To be asynchronous, a lambda must have the Async modifier and must return Task or Task(Of T), but it cannot accept ByRef arguments and cannot be an iterator function. A lambda can be asynchronous when its code uses the Await operator to wait for a Task result. An example of asynchronous lambdas is with event handlers. For instance, you might need to wait for the result of a task when an event is raised, as in the following code snippet that handles a button’s Click:

AddHandler Me.Button1.Click, Async Sub(sender, e)                                 Await DoSomeWorkAsync                             End Sub

You do not need an ...

Get Visual Basic 2015 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.