TaskFactory::FromAsync Method (Func<AsyncCallback^, Object^, IAsyncResult^>^, Action<IAsyncResult^>^, Object^, TaskCreationOptions)
Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.
Assembly: mscorlib (in mscorlib.dll)
public:
Task^ FromAsync(
Func<AsyncCallback^, Object^, IAsyncResult^>^ beginMethod,
Action<IAsyncResult^>^ endMethod,
Object^ state,
TaskCreationOptions creationOptions
)
Parameters
- beginMethod
-
Type:
System::Func<AsyncCallback^, Object^, IAsyncResult^>^
The delegate that begins the asynchronous operation.
- endMethod
-
Type:
System::Action<IAsyncResult^>^
The delegate that ends the asynchronous operation.
- 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.
Return Value
Type: System.Threading.Tasks::Task^The created Task 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 beginMethod delegate is started on the thread that FromAsync is running on. This method throws any exceptions thrown by the beginMethod. The TaskCreationOptions values PreferFairness, LongRunning and AttachedToParent are all mutually exclusive. In the FromAsync methods, either LongRunning or AttachedToParent by themselves will cause an ArgumentOutOfRangeException to be thrown.
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 5.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1