Click or drag to resize
CoreTaskExtensionsSelectTResult Method (Task, FuncTask, TResult)
Synchronously execute a continuation when a task completes successfully.

Namespace: Rackspace.Threading
Assembly: Rackspace.Threading (in Rackspace.Threading.dll) Version: 2.1.0-beta1
Syntax
public static Task<TResult> Select<TResult>(
	this Task task,
	Func<Task, TResult> continuationFunction
)

Parameters

task
Type: System.Threading.TasksTask
The antecedent task.
continuationFunction
Type: SystemFuncTask, TResult
The continuation function to execute when task completes successfully.

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 returned from the 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

This code implements support for the following construct without requiring the use of /.

C#
await task.ConfigureAwait(false);
return continuationFunction(task);

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

Version Information

.NET for Windows Store apps

Supported in: Windows 8

.NET Framework

Supported in: 4.5, 4.0, 3.5

Portable Class Library

Supported in: Portable Class Library (Legacy), Portable Class Library

Threading Library

Supported in: 2.1, 2.0, 1.1, 1.0
See Also