Click or drag to resize
CoreTaskExtensionsThenTResult Method (Task, FuncTask, TaskTResult, Boolean)
Execute a continuation task when a task completes. The continuation task is synchronously created by a continuation function, and then unwrapped to form the result of this method. The supportsErrors parameter specifies whether the continuation is executed if the antecedent task is faulted.

Namespace: net.openstack.Core
Assembly: openstacknet (in openstacknet.dll) Version: 1.7.7+Branch.master.Sha.25d803f397c8693c2c13777ef6675f796f520f2c
Syntax
public static Task<TResult> Then<TResult>(
	this Task task,
	Func<Task, Task<TResult>> continuationFunction,
	bool supportsErrors
)

Parameters

task
Type: System.Threading.TasksTask
The antecedent task.
continuationFunction
Type: SystemFuncTask, TaskTResult
The continuation function to execute when task completes. The continuation function returns a TaskTResult which provides the final result of the continuation.
supportsErrors
Type: SystemBoolean
if the continuationFunction properly handles a faulted antecedent task; otherwise, .

Type Parameters

TResult
The type of the result produced by the continuation TaskTResult.

Return Value

Type: TaskTResult
A Task representing the asynchronous operation. When the task completes successfully, the Result property will contain the result provided by the Result property of the task returned from continuationFunction.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Task. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Exceptions
ExceptionCondition
ArgumentNullException If task is .

-or-

If continuationFunction is .

Remarks

If the antecedent task is cancelled, or faulted with supportsErrors set to , the status of the antecedent is directly applied to the task returned by this method; it is not wrapped in an additional AggregateException.

Note Notes to Callers
Since the continuationFunction is executed synchronously, this method should only be used for lightweight continuation functions. This restriction applies only to continuationFunction itself, not to the Task returned by it.
Version Information

.NET Framework

Supported in: 4.5

openstack.net

Supported in: 1.6, 1.5, 1.4, 1.3.6
See Also