TaskFactory.FromAsync<TArg1, TArg2, TResult> Method (Func<TArg1, TArg2, AsyncCallback, Object, IAsyncResult>, Func<IAsyncResult, TResult>, TArg1, TArg2, Object, TaskCreationOptions)
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, TArg2, TResult>(
Func<TArg1, TArg2, AsyncCallback, Object, IAsyncResult> beginMethod,
Func<IAsyncResult, TResult> endMethod,
TArg1 arg1,
TArg2 arg2,
Object state,
TaskCreationOptions creationOptions
)
Type Parameters
- TArg1
The type of the second argument passed to beginMethod delegate.
- TArg2
The type of the first argument passed to the beginMethod delegate.
- TResult
The type of the result available through the Task<TResult>.
Parameters
- beginMethod
- Type: System.Func<TArg1, TArg2, AsyncCallback, Object, IAsyncResult>
The delegate that begins the asynchronous operation.
- endMethod
- Type: System.Func<IAsyncResult, TResult>
The delegate that ends the asynchronous operation.
- arg1
- Type: TArg1
The first argument passed to the beginMethod delegate.
- arg2
- Type: TArg2
The second argument passed to the beginMethod delegate.
- state
- Type: System.Object
An object containing data to be used by the beginMethod delegate.
- creationOptions
- Type: System.Threading.Tasks.TaskCreationOptions
The TaskCreationOptions value that controls the behavior of the created Task<TResult>.
Return Value
Type: System.Threading.Tasks.Task<TResult>The created Task<TResult> that represents the asynchronous operation.
| Exception | Condition |
|---|---|
| ArgumentNullException | The exception that is thrown when the beginMethod argument is null. -or- The exception that is thrown when the endMethod 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 |
The beginMethod delegate is started on the thread that FromAsync is running on. This method throws any exceptions thrown by the beginMethod.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.