Expand Minimize

TaskFactory.FromAsync Method (IAsyncResult, Action<IAsyncResult>, TaskCreationOptions, TaskScheduler)

Creates a task that executes an end method action when a specified IAsyncResult completes.

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

public Task FromAsync(
	IAsyncResult asyncResult,
	Action<IAsyncResult> endMethod,
	TaskCreationOptions creationOptions,
	TaskScheduler scheduler


Type: System.IAsyncResult
The IAsyncResult whose completion should trigger the processing of the endMethod.
Type: System.Action<IAsyncResult>
The action delegate that processes the completed asyncResult.
Type: System.Threading.Tasks.TaskCreationOptions
A bitwise combination of the enumeration values that control the behavior of the created task.
Type: System.Threading.Tasks.TaskScheduler
The scheduler of the task that executes the end method.

Return Value

Type: System.Threading.Tasks.Task
The created task that represents the asynchronous operation.


The asyncResult argument is null.


The endMethod argument is null.


The scheduler argument is null.


The creationOptions argument specifies an invalid value.


The FromAsync() overloads that take an asyncResult parameter are not as efficient as the overloads that take a beginMethod parameter. If performance is an issue, use the overloads that provide the beginMethod/endMethod pattern.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2015 Microsoft