Task.ContinueWith Method (Action(Of Task), TaskContinuationOptions)
Creates a continuation that executes when the target task completes according to the specified TaskContinuationOptions.
Assembly: mscorlib (in mscorlib.dll)
Public Function ContinueWith ( continuationAction As Action(Of Task), continuationOptions As TaskContinuationOptions ) As Task
An action to run according to the specified continuationOptions. When run, the delegate will be passed the completed task as an argument.
The returned Task will not be scheduled for execution until the current task has completed. If the continuation criteria specified through the continuationOptions parameter are not met, the continuation task will be canceled instead of scheduled.
The following example demonstrates using TaskContinuationOptions to specify that a continuation task should run synchronously when the antecedent task completes. (If the specified task has already completed by the time ContinueWith is called, the synchronous continuation will run on the thread calling ContinueWith.)
Public Class TaskCounter Private _count as Integer Public Sub Track(ByVal t as Task) If t is Nothing Then Throw New ArgumentNullException("t") Interlocked.Increment(_count) t.ContinueWith(Sub(ct) Interlocked.Decrement(_count) End Sub, TaskContinuationOptions.ExecuteSynchronously) End Sub Public ReadOnly Property NumberOfActiveTasks As Integer Get Return _count End Get End Property End Class
Available since 4.5
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 5.0
Windows Phone Silverlight
Available since 8.0
Available since 8.1