TaskFactory.FromAsync<TResult> Method (IAsyncResult, Func<IAsyncResult, TResult>)


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

Creates a Task<TResult> that executes an end method function when a specified IAsyncResult completes.

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

public Task<TResult> FromAsync<TResult>(
	IAsyncResult asyncResult,
	Func<IAsyncResult, TResult> endMethod


Type: System.IAsyncResult

The IAsyncResult whose completion should trigger the processing of the endMethod.

Type: System.Func<IAsyncResult, TResult>

The function delegate that processes the completed asyncResult.

Return Value

Type: System.Threading.Tasks.Task<TResult>

A Task<TResult> that represents the asynchronous operation.

Type Parameters


The type of the result available through the Task<TResult>.

Exception Condition

The exception that is thrown when the asyncResult argument is null.


The exception that is thrown when the endMethod argument is null.


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.

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