Task<TResult> Constructor (Func<TResult>, CancellationToken, TaskCreationOptions)

Initializes a new Task<TResult> with the specified function and creation options.

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

public Task(
	Func<TResult> function,
	CancellationToken cancellationToken,
	TaskCreationOptions creationOptions
)

Parameters

function
Type: System.Func<TResult>

The delegate that represents the code to execute in the task. When the function has completed, the task's Result property will be set to return the result value of the function.

cancellationToken
Type: System.Threading.CancellationToken

The CancellationToken that will be assigned to the new task.

creationOptions
Type: System.Threading.Tasks.TaskCreationOptions

The TaskCreationOptions used to customize the task's behavior.

ExceptionCondition
ObjectDisposedException

The CancellationTokenSource that created cancellationToken has already been disposed.

ArgumentOutOfRangeException

The creationOptions argument specifies an invalid value for TaskCreationOptions.

ArgumentNullException

The function argument is null.

Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static TaskFactory.StartNew<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions, TaskScheduler) method. The only advantage offered by this constructor is that it allows object instantiation to be separated from task invocation.

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft