Task.Run<TResult> Method (Func<Task<TResult>>)

.NET Framework 4.6 and 4.5

Queues the specified work to run on the ThreadPool and returns a proxy for the Task(TResult) returned by function.

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

public static Task<TResult> Run<TResult>(
	Func<Task<TResult>> function

Type Parameters


The type of the result returned by the proxy task.


Type: System.Func<Task<TResult>>

The work to execute asynchronously

Return Value

Type: System.Threading.Tasks.Task<TResult>
A Task(TResult) that represents a proxy for the Task(TResult) returned by function.


The function parameter was null.


The Run<TResult>(Func<Task<TResult>>) method is used by language compilers to support the async and await keywords. It is not intended to be called directly from user code.

.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
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft