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

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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)

Syntax

'Declaration
Public Function FromAsync(Of TArg1, TArg2, TArg3) ( _
    beginMethod As Func(Of TArg1, TArg2, TArg3, AsyncCallback, Object, IAsyncResult), _
    endMethod As Func(Of IAsyncResult, TResult), _
    arg1 As TArg1, _
    arg2 As TArg2, _
    arg3 As TArg3, _
    state As Object, _
    creationOptions As TaskCreationOptions _
) As Task(Of TResult)
public Task<TResult> FromAsync<TArg1, TArg2, TArg3>(
    Func<TArg1, TArg2, TArg3, AsyncCallback, Object, IAsyncResult> beginMethod,
    Func<IAsyncResult, TResult> endMethod,
    TArg1 arg1,
    TArg2 arg2,
    TArg3 arg3,
    Object state,
    TaskCreationOptions creationOptions
)

Type Parameters

  • TArg1
    The type of the first argument passed to the beginMethod delegate.
  • TArg2
    The type of the second argument passed to beginMethod delegate.
  • TArg3
    The type of the third argument passed to beginMethod delegate.

Parameters

  • arg1
    Type: TArg1
    The first argument passed to the beginMethod delegate.
  • arg2
    Type: TArg2
    The second argument passed to the beginMethod delegate.
  • arg3
    Type: TArg3
    The third argument passed to the beginMethod delegate.
  • state
    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.

Exceptions

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.

Remarks

This method throws any exceptions thrown by the beginMethod. Exceptions for endmethod are thrown when waiting on the returned task.

Version Information

Silverlight

Supported in: 5

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.