Expand Minimize

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

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

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

public Task<TResult> FromAsync<TResult>(
	IAsyncResult asyncResult,
	Func<IAsyncResult, TResult> endMethod,
	TaskCreationOptions creationOptions,
	TaskScheduler scheduler
)

Type Parameters

TResult

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

Parameters

asyncResult
Type: System.IAsyncResult

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

endMethod
Type: System.Func<IAsyncResult, TResult>

The function delegate that processes the completed asyncResult.

creationOptions
Type: System.Threading.Tasks.TaskCreationOptions

The TaskCreationOptions value that controls the behavior of the created Task<TResult>.

scheduler
Type: System.Threading.Tasks.TaskScheduler

The TaskScheduler that is used to schedule the task that executes the end method.

Return Value

Type: System.Threading.Tasks.Task<TResult>
A Task<TResult> that represents the asynchronous operation.

ExceptionCondition
ArgumentNullException

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

-or-

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

-or-

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

ArgumentOutOfRangeException

The exception that is thrown when the creationOptions argument specifies an invalid TaskCreationOptions value. The exception that is thrown when the creationOptions argument specifies an invalid TaskCreationOptions value. For more information, see the Remarks for FromAsync

TipTip

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.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