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


Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

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

public Task<TResult> FromAsync<TArg1, TResult>(
	Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod,
	Func<IAsyncResult, TResult> endMethod,
	TArg1 arg1,
	object state


Type: System.Func<TArg1, AsyncCallback, Object, IAsyncResult>

The delegate that begins the asynchronous operation.

Type: System.Func<IAsyncResult, TResult>

The delegate that ends the asynchronous operation.

Type: TArg1

The first argument passed to the beginMethod delegate.

Type: System.Object

An object containing data to be used by the beginMethod delegate.

Return Value

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

The created Task<TResult> that represents the asynchronous operation.

Type Parameters


The type of the first argument passed to the beginMethod delegate.


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

Exception Condition

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


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

The beginMethod delegate is started on the thread that FromAsync is running on. This method throws any exceptions thrown by the beginMethod.

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