Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
ContinueWith(TNewResult) Method (Func(Task(TResult), Object, TNewResult), Object, TaskContinuationOptions)
Collapse the table of content
Expand the table of content

Task<TResult>.ContinueWith<TNewResult> Method (Func<Task<TResult>, Object, TNewResult>, Object, TaskContinuationOptions)

.NET Framework 4.6 and 4.5

Creates a continuation that executes when the target Task<TResult> completes.

Namespace:  System.Threading.Tasks
Assemblies:   System.Threading.Tasks (in System.Threading.Tasks.dll)
  mscorlib (in mscorlib.dll)

public Task<TNewResult> ContinueWith<TNewResult>(
	Func<Task<TResult>, Object, TNewResult> continuationFunction,
	Object state,
	TaskContinuationOptions continuationOptions
)

Type Parameters

TNewResult

The type of the result produced by the continuation.

Parameters

continuationFunction
Type: System.Func<Task<TResult>, Object, TNewResult>

A function to run when the Task<TResult> completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments.

state
Type: System.Object

An object representing data to be used by the continuation function.

continuationOptions
Type: System.Threading.Tasks.TaskContinuationOptions

Options for when the continuation is scheduled and how it behaves. This includes criteria, such as OnlyOnCanceled, as well as execution options, such as ExecuteSynchronously.

Return Value

Type: System.Threading.Tasks.Task<TNewResult>
A new continuation Task<TResult>.

ExceptionCondition
ArgumentNullException

The continuationFunction argument is null.

ArgumentOutOfRangeException

The continuationOptions argument specifies an invalid value for TaskContinuationOptions.

The returned Task<TResult> will not be scheduled for execution until the current task has completed, whether it completes due to running to completion successfully, faulting due to an unhandled exception, or exiting out early due to being canceled.

The continuationFunction, when executed, should return a Task<TResult>. This task's completion state will be transferred to the task returned from the ContinueWith call.

.NET Framework

Supported in: 4.6, 4.5

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8
Show:
© 2015 Microsoft