Task Constructor (Action, CancellationToken, TaskCreationOptions)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Initializes a new Task with the specified action and creation options.

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

public Task(
	Action action,
	CancellationToken cancellationToken,
	TaskCreationOptions creationOptions


Type: System.Action

The delegate that represents the code to execute in the task.

Type: System.Threading.CancellationToken

The CancellationToken that the new task will observe.

Type: System.Threading.Tasks.TaskCreationOptions

The TaskCreationOptions used to customize the task's behavior.

Exception Condition

The CancellationTokenSource that created cancellationToken has already been disposed.


The action argument is null.


The creationOptions argument specifies an invalid value for TaskCreationOptions.

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

For more information, see Task Parallelism (Task Parallel Library) and Task Cancellation.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 5.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top