Permalink
Fetching contributors…
Cannot retrieve contributors at this time
9333 lines (9306 sloc) 646 KB
<?xml version="1.0"?>
<doc>
<assembly>
<name>AsyncCtpLibrary_Silverlight</name>
</assembly>
<members>
<member name="T:System.Threading.Tasks.TaskExceptionHolder">
<summary>
An exception holder manages a list of exceptions for one particular task.
It offers the ability to aggregate, but more importantly, also offers intrinsic
support for propagating unhandled exceptions that are never observed. It does
this by aggregating and throwing if the holder is ever GC'd without the holder's
contents ever having been requested (e.g. by a Task.Wait, Task.get_Exception, etc).
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskExceptionHolder.#ctor(System.Threading.Tasks.Task)">
<summary>
Creates a new holder; it will be registered for finalization.
</summary>
<param name="task">The task this holder belongs to.</param>
</member>
<member name="M:System.Threading.Tasks.TaskExceptionHolder.Finalize">
<summary>
A finalizer that repropagates unhandled exceptions.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskExceptionHolder.Add(System.Object)">
<summary>
Add an exception to the internal list. This will ensure the holder is
in the proper state (handled/unhandled) depending on the list's contents.
</summary>
<param name="exceptionObject">An exception object (either an Exception or an
IEnumerable{Exception}) to add to the list.</param>
</member>
<member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsUnhandled">
<summary>
A private helper method that ensures the holder is considered
unhandled, i.e. it is registered for finalization.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsHandled(System.Boolean)">
<summary>
A private helper method that ensures the holder is considered
handled, i.e. it is not registered for finalization.
</summary>
<param name="calledFromFinalizer">Whether this is called from the finalizer thread.</param>
</member>
<member name="M:System.Threading.Tasks.TaskExceptionHolder.CreateExceptionObject(System.Boolean,System.Exception)">
<summary>
Allocates a new aggregate exception and adds the contents of the list to
it. By calling this method, the holder assumes exceptions to have been
"observed", such that the finalization check will be subsequently skipped.
</summary>
<param name="calledFromFinalizer">Whether this is being called from a finalizer.</param>
<param name="includeThisException">An extra exception to be included (optionally).</param>
<returns>The aggregate exception to throw.</returns>
</member>
<member name="T:System.IProgress`1">
<summary>Defines a provider for progress updates.</summary>
<typeparam name="T">The type of progress update value.</typeparam>
</member>
<member name="M:System.IProgress`1.Report(`0)">
<summary>Reports a progress update.</summary>
<param name="value">The value of the updated progress.</param>
</member>
<member name="T:System.Threading.ManualResetEventSlim">
<summary>
Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"/>.
</summary>
<remarks>
All public and protected members of <see cref="T:System.Threading.ManualResetEventSlim"/> are thread-safe and may be used
concurrently from multiple threads, with the exception of Dispose, which
must only be used when all other operations on the <see cref="T:System.Threading.ManualResetEventSlim"/> have
completed, and Reset, which should only be used when no other threads are
accessing the event.
</remarks>
</member>
<member name="M:System.Threading.ManualResetEventSlim.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
class with an initial state of nonsignaled.
</summary>
</member>
<member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
class with a Boolen value indicating whether to set the intial state to signaled.
</summary>
<param name="initialState">true to set the initial state signaled; false to set the initial state
to nonsignaled.</param>
</member>
<member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
class with a Boolen value indicating whether to set the intial state to signaled and a specified
spin count.
</summary>
<param name="initialState">true to set the initial state to signaled; false to set the initial state
to nonsignaled.</param>
<param name="spinCount">The number of spin waits that will occur before falling back to a true
wait.</param>
<exception cref="T:ArgumentOutOfRangeException"><paramref name="spinCount"/> is less than
0 or greater than the maximum allowed value.</exception>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Initialize(System.Boolean,System.Int32)">
<summary>
Initializes the internal state of the event.
</summary>
<param name="initialState">Whether the event is set initially or not.</param>
<param name="spinCount">The spin count that decides when the event will block.</param>
</member>
<member name="M:System.Threading.ManualResetEventSlim.EnsureLockObjectCreated">
<summary>
Helper to ensure the lock object is created before first use.
</summary>
</member>
<member name="M:System.Threading.ManualResetEventSlim.LazyInitializeEvent">
<summary>
This method lazily initializes the event object. It uses CAS to guarantee that
many threads racing to call this at once don't result in more than one event
being stored and used. The event will be signaled or unsignaled depending on
the state of the thin-event itself, with synchronization taken into account.
</summary>
<returns>True if a new event was created and stored, false otherwise.</returns>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Set">
<summary>
Sets the state of the event to signaled, which allows one or more threads waiting on the event to
proceed.
</summary>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Set(System.Boolean)">
<summary>
Private helper to actually perform the Set.
</summary>
<param name="duringCancellation">Indicates whether we are calling Set() during cancellation.</param>
<exception cref="T:System.OperationCanceledException">The object has been canceled.</exception>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Reset">
<summary>
Sets the state of the event to nonsignaled, which causes threads to block.
</summary>
<remarks>
Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Reset"/> is not
thread-safe and may not be used concurrently with other members of this instance.
</remarks>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Wait">
<summary>
Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set.
</summary>
<exception cref="T:System.InvalidOperationException">
The maximum number of waiters has been exceeded.
</exception>
<remarks>
The caller of this method blocks indefinitely until the current instance is set. The caller will
return immediately if the event is currently in a set state.
</remarks>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
<summary>
Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> receives a signal,
while observing a <see cref="T:System.Threading.CancellationToken"/>.
</summary>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
observe.</param>
<exception cref="T:System.InvalidOperationException">
The maximum number of waiters has been exceeded.
</exception>
<exception cref="T:System.OperationCanceledExcepton"><paramref name="cancellationToken"/> was
canceled.</exception>
<remarks>
The caller of this method blocks indefinitely until the current instance is set. The caller will
return immediately if the event is currently in a set state.
</remarks>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
<summary>
Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
<see cref="T:System.TimeSpan"/> to measure the time interval.
</summary>
<param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
</param>
<returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
false.</returns>
<exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
than <see cref="F:System.Int32.MaxValue"/>.</exception>
<exception cref="T:System.InvalidOperationException">
The maximum number of waiters has been exceeded.
</exception>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
<summary>
Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
<see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
</summary>
<param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
observe.</param>
<returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
false.</returns>
<exception cref="T:ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
than <see cref="F:System.Int32.MaxValue"/>.</exception>
<exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
<exception cref="T:System.InvalidOperationException">
The maximum number of waiters has been exceeded.
</exception>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
<summary>
Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
32-bit signed integer to measure the time interval.
</summary>
<param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
<returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
false.</returns>
<exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
negative number other than -1, which represents an infinite time-out.</exception>
<exception cref="T:System.InvalidOperationException">
The maximum number of waiters has been exceeded.
</exception>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
<summary>
Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
</summary>
<param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
observe.</param>
<returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
false.</returns>
<exception cref="T:ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
negative number other than -1, which represents an infinite time-out.</exception>
<exception cref="T:System.InvalidOperationException">
The maximum number of waiters has been exceeded.
</exception>
<exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Dispose">
<summary>
Releases all resources used by the current instance of <see cref="T:System.Threading.ManualResetEventSlim"/>.
</summary>
<remarks>
Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose"/> is not
thread-safe and may not be used concurrently with other members of this instance.
</remarks>
</member>
<member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
<summary>
When overridden in a derived class, releases the unmanaged resources used by the
<see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
</summary>
<param name="disposing">true to release both managed and unmanaged resources;
false to release only unmanaged resources.</param>
<remarks>
Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)"/> is not
thread-safe and may not be used concurrently with other members of this instance.
</remarks>
</member>
<member name="M:System.Threading.ManualResetEventSlim.ThrowIfDisposed">
<summary>
Throw ObjectDisposedException if the MRES is disposed
</summary>
</member>
<member name="F:System.Threading.ManualResetEventSlim.s_cancellationTokenCallback">
<summary>
Private helper method to wake up waiters when a cancellationToken gets canceled.
</summary>
</member>
<member name="M:System.Threading.ManualResetEventSlim.UpdateStateAtomically(System.Int32,System.Int32)">
<summary>
Private helper method for updating parts of a bit-string state value.
Mainly called from the IsSet and Waiters properties setters
</summary>
<remarks>
Note: the parameter types must be int as CompareExchange cannot take a Uint
</remarks>
<param name="newBits">The new value</param>
<param name="updateBitsMask">The mask used to set the bits</param>
</member>
<member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortionAndShiftRight(System.Int32,System.Int32,System.Int32)">
<summary>
Private helper method - performs Mask and shift, particular helpful to extract a field from a packed word.
eg ExtractStatePortionAndShiftRight(0x12345678, 0xFF000000, 24) => 0x12, ie extracting the top 8-bits as a simple integer
?? is there a common place to put this rather than being private to MRES?
</summary>
<param name="state"></param>
<param name="mask"></param>
<param name="rightBitShiftCount"></param>
<returns></returns>
</member>
<member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortion(System.Int32,System.Int32)">
<summary>
Performs a Mask operation, but does not perform the shift.
This is acceptable for boolean values for which the shift is unnecessary
eg (val &amp; Mask) != 0 is an appropriate way to extract a boolean rather than using
((val &amp; Mask) &gt;&gt; shiftAmount) == 1
?? is there a common place to put this rather than being private to MRES?
</summary>
<param name="state"></param>
<param name="mask"></param>
</member>
<member name="M:System.Threading.ManualResetEventSlim.UpdateTimeOut(System.Int64,System.Int32)">
<summary>
Helper function to measure and update the wait time
</summary>
<param name="startTimeTicks"> The first time (in Ticks) observed when the wait started.</param>
<param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds.</param>
<returns>The new wait time in milliseconds, -1 if the time expired, -2 if overflow in counters
has occurred.</returns>
</member>
<member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
<summary>
Gets the underlying <see cref="T:System.Threading.WaitHandle"/> object for this <see cref="T:System.Threading.ManualResetEventSlim"/>.
</summary>
<value>The underlying <see cref="T:System.Threading.WaitHandle"/> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"/>.</value>
<remarks>
Accessing this property forces initialization of an underlying event object if one hasn't
already been created. To simply wait on this <see cref="T:System.Threading.ManualResetEventSlim"/>,
the public Wait methods should be preferred.
</remarks>
</member>
<member name="P:System.Threading.ManualResetEventSlim.IsSet">
<summary>
Gets whether the event is set.
</summary>
<value>true if the event has is set; otherwise, false.</value>
</member>
<member name="P:System.Threading.ManualResetEventSlim.SpinCount">
<summary>
Gets the number of spin waits that will be occur before falling back to a true wait.
</summary>
</member>
<member name="P:System.Threading.ManualResetEventSlim.Waiters">
<summary>
How many threads are waiting.
</summary>
</member>
<member name="T:AsyncCtpExtensions">
<summary>Asynchronous wrappers for .NET Framework operations.</summary>
</member>
<member name="M:AsyncCtpExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.String)">
<summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI from which to download data.</param>
<returns>A Task that contains the downloaded string.</returns>
</member>
<member name="M:AsyncCtpExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.Uri)">
<summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI from which to download data.</param>
<returns>A Task that contains the downloaded string.</returns>
</member>
<member name="M:AsyncCtpExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.Uri,System.Threading.CancellationToken)">
<summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI from which to download data.</param>
<param name="cancellationToken">A token used to signal cancellation.</param>
<returns>A Task that contains the downloaded string.</returns>
</member>
<member name="M:AsyncCtpExtensions.DownloadStringTaskAsync(System.Net.WebClient,System.Uri,System.Threading.CancellationToken,System.IProgress{System.Net.DownloadProgressChangedEventArgs})">
<summary>Downloads the resource with the specified URI as a string, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI from which to download data.</param>
<param name="cancellationToken">A token used to signal cancellation.</param>
<param name="progress">An object into which progress is stored.</param>
<returns>A Task that contains the downloaded string.</returns>
</member>
<member name="M:AsyncCtpExtensions.OpenReadTaskAsync(System.Net.WebClient,System.String)">
<summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI for which the stream should be opened.</param>
<returns>A Task that contains the opened stream.</returns>
</member>
<member name="M:AsyncCtpExtensions.OpenReadTaskAsync(System.Net.WebClient,System.Uri)">
<summary>Opens a readable stream for the data downloaded from a resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI for which the stream should be opened.</param>
<returns>A Task that contains the opened stream.</returns>
</member>
<member name="M:AsyncCtpExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String)">
<summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI for which the stream should be opened.</param>
<returns>A Task that contains the opened stream.</returns>
</member>
<member name="M:AsyncCtpExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri)">
<summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI for which the stream should be opened.</param>
<returns>A Task that contains the opened stream.</returns>
</member>
<member name="M:AsyncCtpExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.String,System.String)">
<summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI for which the stream should be opened.</param>
<param name="method">The HTTP method that should be used to open the stream.</param>
<returns>A Task that contains the opened stream.</returns>
</member>
<member name="M:AsyncCtpExtensions.OpenWriteTaskAsync(System.Net.WebClient,System.Uri,System.String)">
<summary>Opens a writeable stream for uploading data to a resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI for which the stream should be opened.</param>
<param name="method">The HTTP method that should be used to open the stream.</param>
<returns>A Task that contains the opened stream.</returns>
</member>
<member name="M:AsyncCtpExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String)">
<summary>Uploads data in a string to the specified resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI to which the data should be uploaded.</param>
<param name="data">The data to upload.</param>
<returns>A Task containing the data in the response from the upload.</returns>
</member>
<member name="M:AsyncCtpExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String)">
<summary>Uploads data in a string to the specified resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI to which the data should be uploaded.</param>
<param name="data">The data to upload.</param>
<returns>A Task containing the data in the response from the upload.</returns>
</member>
<member name="M:AsyncCtpExtensions.UploadStringTaskAsync(System.Net.WebClient,System.String,System.String,System.String)">
<summary>Uploads data in a string to the specified resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI to which the data should be uploaded.</param>
<param name="method">The HTTP method that should be used to upload the data.</param>
<param name="data">The data to upload.</param>
<returns>A Task containing the data in the response from the upload.</returns>
</member>
<member name="M:AsyncCtpExtensions.UploadStringTaskAsync(System.Net.WebClient,System.Uri,System.String,System.String)">
<summary>Uploads data in a string to the specified resource, asynchronously.</summary>
<param name="webClient">The WebClient.</param>
<param name="address">The URI to which the data should be uploaded.</param>
<param name="method">The HTTP method that should be used to upload the data.</param>
<param name="data">The data to upload.</param>
<returns>A Task containing the data in the response from the upload.</returns>
</member>
<member name="M:AsyncCtpExtensions.GetUri(System.Net.WebClient,System.String)">
<summary>Converts a path to a Uri using the WebClient's logic.</summary>
<remarks>Based on WebClient's private GetUri method.</remarks>
</member>
<member name="M:AsyncCtpExtensions.GetUri(System.Net.WebClient,System.Uri)">
<summary>Converts a path to a Uri using the WebClient's logic.</summary>
<remarks>Based on WebClient's private GetUri method.</remarks>
</member>
<member name="M:AsyncCtpExtensions.ReadAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
<summary>
Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
</summary>
<returns>A Task that represents the asynchronous read.</returns>
<param name="source">The source.</param>
<param name="buffer">The buffer to read data into. </param>
<param name="offset">The byte offset in at which to begin reading. </param>
<param name="count">The maximum number of bytes to read. </param>
<exception cref="T:System.ArgumentException">The array length minus is less than <paramref name="count" />. </exception>
<exception cref="T:System.ArgumentNullException"> is null. </exception>
<exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
<exception cref="T:System.IO.IOException">An asynchronous read was attempted past the end of the file. </exception>
</member>
<member name="M:AsyncCtpExtensions.WriteAsync(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
<summary>
Writes asynchronously a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
</summary>
<returns>A Task that represents the asynchronous write.</returns>
<param name="source">The source.</param>
<param name="buffer">The buffer containing data to write to the current stream.</param>
<param name="offset">The zero-based byte offset in at which to begin copying bytes to the current stream.</param>
<param name="count">The maximum number of bytes to write. </param>
<exception cref="T:System.ArgumentException"> length minus <paramref name="offset" /> is less than <paramref name="count" />. </exception>
<exception cref="T:System.ArgumentNullException"> is null. </exception>
<exception cref="T:System.ArgumentOutOfRangeException"> or <paramref name="count" /> is negative. </exception>
<exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
<exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
</member>
<member name="M:AsyncCtpExtensions.GetResponseAsync(System.Net.WebRequest)">
<summary>Starts an asynchronous request for a web resource.</summary>
<returns>Task that represents the asynchronous request.</returns>
<exception cref="T:System.InvalidOperationException">The stream is already in use by a previous call to . </exception>
<PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.GetRequestStreamAsync(System.Net.WebRequest)">
<summary>Starts an asynchronous request for a object to use to write data.</summary>
<returns>Task that represents the asynchronous request.</returns>
<exception cref="T:System.Net.ProtocolViolationException">The property is GET and the application writes to the stream. </exception>
<exception cref="T:System.InvalidOperationException">The stream is being used by a previous call to . </exception>
<exception cref="T:System.ApplicationException">No write stream is available. </exception>
<PermissionSet> <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" /> </PermissionSet>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.CloseAsync(System.ServiceModel.ICommunicationObject)">
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.CloseAsync(System.ServiceModel.ICommunicationObject,System.TimeSpan)">
<summary>Starts an asynchronous operation invoked when the workflow service host is closed.</summary>
<returns>A reference to the asynchronous close operation.</returns>
<param name="timeout">The period of time the asynchronous close operation has to complete before timing out.</param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.OpenAsync(System.ServiceModel.ICommunicationObject)">
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.OpenAsync(System.ServiceModel.ICommunicationObject,System.TimeSpan)">
<summary>Starts an asynchronous operation invoked when the workflow service host is opened.</summary>
<returns>A reference to the asynchronous operation.</returns>
<param name="timeout">The period of time the asynchronous open operation has to complete before timing out.</param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.WaitForMessageAsync(System.ServiceModel.Channels.IInputChannel,System.TimeSpan)">
<summary>Starts an asynchronous wait-for-a-message-to-arrive operation that has a specified time out and state object associated with it. </summary>
<returns>The Task that represents the asynchronous operation to wait for a message to arrive.</returns>
<param name="timeout">The that specifies the interval of time to wait for a message to become available.</param>
<exception cref="T:System.TimeoutException">The specified is exceeded before the operation is completed.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than zero.</exception>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.SendAsync(System.ServiceModel.Channels.IOutputChannel,System.ServiceModel.Channels.Message)">
<summary>Starts an asynchronous operation to transmit a message to the destination of the output channel. </summary>
<returns>The Task that represents the asynchronous message transmission. </returns>
<param name="message">The being sent on the output channel. </param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.SendAsync(System.ServiceModel.Channels.IOutputChannel,System.ServiceModel.Channels.Message,System.TimeSpan)">
<summary>Starts an asynchronous operation to transmit a message to the destination of the output channel within a specified interval of time.</summary>
<returns>The Task that represents the asynchronous send operation.</returns>
<param name="message">The being sent on the output channel.</param>
<param name="timeout">The that specifies how long the send operation has to complete before timing out.</param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.CloseOutputSessionAsync(System.ServiceModel.Channels.IDuplexSession)">
<summary>Starts an asynchronous operation to terminate the outbound session.</summary>
<returns>The Task that represents the asynchronous outbound session termination. </returns>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.CloseOutputSessionAsync(System.ServiceModel.Channels.IDuplexSession,System.TimeSpan)">
<summary>Starts an asynchronous operation to close an output session on the client that has a specified time out and state object associated with it. </summary>
<returns>The Task that represents the asynchronous close operation.</returns>
<param name="timeout">The that specifies how long the close operation has to complete before timing out.</param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.RequestAsync(System.ServiceModel.Channels.IRequestChannel,System.ServiceModel.Channels.Message)">
<summary>Initiates the asynchronous processing of the message.</summary>
<returns>An asynchronous result that can be used to poll or wait for results, or both; this value is also required when invoking Task.</returns>
<param name="message">The message to be processed.</param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.RequestAsync(System.ServiceModel.Channels.IRequestChannel,System.ServiceModel.Channels.Message,System.TimeSpan)">
<summary>Starts an asynchronous operation to transmit a request message to the reply side of a request-reply message exchange within a specified interval of time.</summary>
<returns>The Task that represents the asynchronous message transmission. </returns>
<param name="message">The request to be transmitted.</param>
<param name="timeout">The that specifies the interval of time within which a response must be received. (For defaults, see the Remarks section.)</param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.ReplyAsync(System.ServiceModel.Channels.RequestContext,System.ServiceModel.Channels.Message)">
<summary>When overridden in a derived class, begins an asynchronous operation to reply to the request associated with the current context.</summary>
<returns>The Task that represents the asynchronous reply operation.</returns>
<param name="message">The incoming that contains the request.</param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.ReplyAsync(System.ServiceModel.Channels.RequestContext,System.ServiceModel.Channels.Message,System.TimeSpan)">
<summary>When overridden in a derived class, begins an asynchronous operation to reply to the request associated with the current context within a specified interval of time.</summary>
<returns>The Task that represents the asynchronous reply operation.</returns>
<param name="message">The incoming that contains the request.</param>
<param name="timeout">The that specifies the interval of time to wait for the reply to an available request.</param>
<param name="source">The source.</param>
</member>
<member name="M:AsyncCtpExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream)">
<summary>
Reads all the bytes from the current stream and writes them to the destination stream.
</summary>
<param name="source">The source stream.</param>
<param name="destination">The stream that will contain the contents of the current stream.</param>
<returns>A Task that represents the asynchronous operation.</returns>
</member>
<member name="M:AsyncCtpExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32)">
<summary>
Reads all the bytes from the current stream and writes them to the destination stream.
</summary>
<param name="source">The source stream.</param>
<param name="destination">The stream that will contain the contents of the current stream.</param>
<param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
<returns>A Task that represents the asynchronous operation.</returns>
</member>
<member name="M:AsyncCtpExtensions.CopyToAsync(System.IO.Stream,System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
<summary>
Reads all the bytes from the current stream and writes them to the destination stream.
</summary>
<param name="source">The source stream.</param>
<param name="destination">The stream that will contain the contents of the current stream.</param>
<param name="bufferSize">The size of the buffer. This value must be greater than zero. The default size is 4096.</param>
<param name="cancellationToken">The cancellation token to use to cancel the asynchronous operation.</param>
<returns>A Task that represents the asynchronous operation.</returns>
</member>
<member name="M:AsyncCtpExtensions.ReadAsync(System.IO.TextReader,System.Char[],System.Int32,System.Int32)">
<summary>
Reads a maximum of count characters from the reader asynchronously and writes
the data to buffer, beginning at index.
</summary>
<param name="buffer">
When the operation completes, contains the specified character array with the
values between index and (index + count - 1) replaced by the characters read
from the current source.
</param>
<param name="count">
The maximum number of characters to read. If the end of the stream is reached
before count of characters is read into buffer, the current method returns.
</param>
<param name="index">The place in buffer at which to begin writing.</param>
<param name="source">the source reader.</param>
<returns>A Task that represents the asynchronous operation.</returns>
<remarks>This method is not currently implemented using asynchronous I/O.</remarks>
</member>
<member name="M:AsyncCtpExtensions.ReadLineAsync(System.IO.TextReader)">
<summary>
Reads a line of characters from the reader and returns the string asynchronously.
</summary>
<param name="source">the source reader.</param>
<returns>A Task that represents the asynchronous operation.</returns>
<remarks>This method is not currently implemented using asynchronous I/O.</remarks>
</member>
<member name="M:AsyncCtpExtensions.ReadToEndAsync(System.IO.TextReader)">
<summary>
Reads all characters from the current position to the end of the TextReader
and returns them as one string asynchronously.
</summary>
<param name="source">the source reader.</param>
<returns>A Task that represents the asynchronous operation.</returns>
<remarks>This method is not currently implemented using asynchronous I/O.</remarks>
</member>
<member name="M:AsyncCtpExtensions.WriteAsync(System.IO.TextWriter,System.String)">
<summary>Writes a string asynchronously to a text stream.</summary>
<param name="target">The writer.</param>
<param name="value">The string to write.</param>
<returns>A Task representing the asynchronous write.</returns>
</member>
<member name="T:System.Threading.Tasks.TaskScheduler">
<summary>
Represents an abstract scheduler for tasks.
</summary>
<remarks>
<para>
<see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> acts as the extension point for all
pluggable scheduling logic. This includes mechanisms such as how to schedule a task for execution, and
how scheduled tasks should be exposed to debuggers.
</para>
<para>
All members of the abstract <see cref="T:System.Threading.Tasks.TaskScheduler"/> type are thread-safe
and may be used from multiple threads concurrently.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)">
<summary>
Queues a <see cref="T:System.Threading.Tasks.Task">Task</see> to the scheduler.
</summary>
<remarks>
<para>
A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
implements this method to accept tasks being scheduled on the scheduler.
A typical implementation would store the task in an internal data structure, which would
be serviced by threads that would execute those tasks at some time in the future.
</para>
<para>
This method is only meant to be called by the .NET Framework and
should not be called directly by the derived class. This is necessary
for maintaining the consistency of the system.
</para>
</remarks>
<param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be queued.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
<summary>
Determines whether the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
can be executed synchronously in this call, and if it can, executes it.
</summary>
<remarks>
<para>
A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> implements this function to
support inline execution of a task on a thread that initiates a wait on that task object. Inline
execution is optional, and the request may be rejected by returning false. However, better
scalability typically results the more tasks that can be inlined, and in fact a scheduler that
inlines too little may be prone to deadlocks. A proper implementation should ensure that a
request executing under the policies guaranteed by the scheduler can successfully inline. For
example, if a scheduler uses a dedicated thread to execute tasks, any inlining requests from that
thread should succeed.
</para>
<para>
If a scheduler decides to perform the inline execution, it should do so by calling to the base
TaskScheduler's
<see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">TryExecuteTask</see> method with the provided task object, propagating
the return value. It may also be appropriate for the scheduler to remove an inlined task from its
internal data structures if it decides to honor the inlining request. Note, however, that under
some circumstances a scheduler may be asked to inline a task that was not previously provided to
it with the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method.
</para>
<para>
The derived scheduler is responsible for making sure that the calling thread is suitable for
executing the given task as far as its own scheduling and execution policies are concerned.
</para>
</remarks>
<param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be
executed.</param>
<param name="taskWasPreviouslyQueued">A Boolean denoting whether or not task has previously been
queued. If this parameter is True, then the task may have been previously queued (scheduled); if
False, then the task is known not to have been queued, and this call is being made in order to
execute the task inline without queueing it.</param>
<returns>A Boolean value indicating whether the task was executed inline.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is
null.</exception>
<exception cref="T:System.InvalidOperationException">The <paramref name="task"/> was already
executed.</exception>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks">
<summary>
Generates an enumerable of <see cref="T:System.Threading.Tasks.Task">Task</see> instances
currently queued to the scheduler waiting to be executed.
</summary>
<remarks>
<para>
A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler"/> implements this method in order to support
integration with debuggers. This method will only be invoked by the .NET Framework when the
debugger requests access to the data. The enumerable returned will be traversed by debugging
utilities to access the tasks currently queued to this scheduler, enabling the debugger to
provide a representation of this information in the user interface.
</para>
<para>
It is important to note that, when this method is called, all other threads in the process will
be frozen. Therefore, it's important to avoid synchronization with other threads that may lead to
blocking. If synchronization is necessary, the method should prefer to throw a <see cref="T:System.NotSupportedException"/>
than to block, which could cause a debugger to experience delays. Additionally, this method and
the enumerable returned must not modify any globally visible state.
</para>
<para>
The returned enumerable should never be null. If there are currently no queued tasks, an empty
enumerable should be returned instead.
</para>
<para>
For developers implementing a custom debugger, this method shouldn't be called directly, but
rather this functionality should be accessed through the internal wrapper method
GetScheduledTasksForDebugger:
<c>internal Task[] GetScheduledTasksForDebugger()</c>. This method returns an array of tasks,
rather than an enumerable. In order to retrieve a list of active schedulers, a debugger may use
another internal method: <c>internal static TaskScheduler[] GetTaskSchedulersForDebugger()</c>.
This static method returns an array of all active TaskScheduler instances.
GetScheduledTasksForDebugger then may be used on each of these scheduler instances to retrieve
the list of scheduled tasks for each.
</para>
</remarks>
<returns>An enumerable that allows traversal of tasks currently queued to this scheduler.
</returns>
<exception cref="T:System.NotSupportedException">
This scheduler is unable to generate a list of queued tasks at this time.
</exception>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.GetThreadStatics">
<summary>
Retrieves some thread static state that can be cached and passed to multiple
TryRunInline calls, avoiding superflous TLS fetches.
</summary>
<returns>A bag of TLS state (or null if none exists).</returns>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task,System.Boolean,System.Object)">
<summary>
Attempts to execute the target task synchronously.
</summary>
<param name="task">The task to run.</param>
<param name="taskWasPreviouslyQueued">True if the task may have been previously queued,
false if the task was absolutely not previously queued.</param>
<param name="threadStatics">The state retrieved from GetThreadStatics</param>
<returns>True if it ran, false otherwise.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
<summary>
Attempts to dequeue a <see cref="T:System.Threading.Tasks.Task">Task</see> that was previously queued to
this scheduler.
</summary>
<param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be dequeued.</param>
<returns>A Boolean denoting whether the <paramref name="task"/> argument was successfully dequeued.</returns>
<exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.NotifyWorkItemProgress">
<summary>
Notifies the scheduler that a work item has made progress.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.#ctor">
<summary>
Initializes the <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.Finalize">
<summary>
Frees all resources associated with this scheduler.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext">
<summary>
Creates a <see cref="T:System.Threading.Tasks.TaskScheduler"/>
associated with the current <see cref="T:System.Threading.SynchronizationContext"/>.
</summary>
<remarks>
All <see cref="T:System.Threading.Tasks.Task">Task</see> instances queued to
the returned scheduler will be executed through a call to the
<see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">Post</see> method
on that context.
</remarks>
<returns>
A <see cref="T:System.Threading.Tasks.TaskScheduler"/> associated with
the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see>, as
determined by <see cref="P:System.Threading.SynchronizationContext.Current">SynchronizationContext.Current</see>.
</returns>
<exception cref="T:System.InvalidOperationException">
The current SynchronizationContext may not be used as a TaskScheduler.
</exception>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">
<summary>
Attempts to execute the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
on this scheduler.
</summary>
<remarks>
<para>
Scheduler implementations are provided with <see cref="T:System.Threading.Tasks.Task">Task</see>
instances to be executed through either the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method or the
<see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)"/> method. When the scheduler deems it appropriate to run the
provided task, <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> should be used to do so. TryExecuteTask handles all
aspects of executing a task, including action invocation, exception handling, state management,
and lifecycle control.
</para>
<para>
<see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> must only be used for tasks provided to this scheduler by the .NET
Framework infrastructure. It should not be used to execute arbitrary tasks obtained through
custom mechanisms.
</para>
</remarks>
<param name="task">
A <see cref="T:System.Threading.Tasks.Task">Task</see> object to be executed.</param>
<exception cref="T:System.InvalidOperationException">
The <paramref name="task"/> is not associated with this scheduler.
</exception>
<returns>A Boolean that is true if <paramref name="task"/> was successfully executed, false if it
was not. A common reason for execution failure is that the task had previously been executed or
is in the process of being executed by another thread.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasksForDebugger">
<summary>
Provides an array of all queued <see cref="T:System.Threading.Tasks.Task">Task</see> instances
for the debugger.
</summary>
<remarks>
The returned array is populated through a call to <see cref="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks"/>.
Note that this function is only meant to be invoked by a debugger remotely.
It should not be called by any other codepaths.
</remarks>
<returns>An array of <see cref="T:System.Threading.Tasks.Task">Task</see> instances.</returns>
<exception cref="T:System.NotSupportedException">
This scheduler is unable to generate a list of queued tasks at this time.
</exception>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.GetTaskSchedulersForDebugger">
<summary>
Provides an array of all active <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
instances for the debugger.
</summary>
<remarks>
This function is only meant to be invoked by a debugger remotely.
It should not be called by any other codepaths.
</remarks>
<returns>An array of <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instances.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.RegisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
<summary>
Registers a new TaskScheduler instance in the global collection of schedulers.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskScheduler.UnregisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
<summary>
Removes a TaskScheduler instance from the global collection of schedulers.
</summary>
</member>
<member name="P:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel">
<summary>
Indicates the maximum concurrency level this
<see cref="T:System.Threading.Tasks.TaskScheduler"/> is able to support.
</summary>
</member>
<member name="P:System.Threading.Tasks.TaskScheduler.RequiresAtomicStartTransition">
<summary>
Indicates whether this is a custom scheduler, in which case the safe code paths will be taken upon task entry
using a CAS to transition from queued state to executing.
</summary>
</member>
<member name="P:System.Threading.Tasks.TaskScheduler.Default">
<summary>
Gets the default <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instance.
</summary>
</member>
<member name="P:System.Threading.Tasks.TaskScheduler.Current">
<summary>
Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
associated with the currently executing task.
</summary>
<remarks>
When not called from within a task, <see cref="P:System.Threading.Tasks.TaskScheduler.Current"/> will return the <see cref="P:System.Threading.Tasks.TaskScheduler.Default"/> scheduler.
</remarks>
</member>
<member name="P:System.Threading.Tasks.TaskScheduler.Id">
<summary>
Gets the unique ID for this <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
</summary>
</member>
<member name="E:System.Threading.Tasks.TaskScheduler.UnobservedTaskException">
<summary>
Occurs when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s unobserved exception is about to trigger exception escalation
policy, which, by default, would terminate the process.
</summary>
<remarks>
This AppDomain-wide event provides a mechanism to prevent exception
escalation policy (which, by default, terminates the process) from triggering.
Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
instance, which may be used to examine the exception and to mark it as observed.
</remarks>
</member>
<member name="T:System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView">
<summary>
Nested class that provides debugger view for TaskScheduler
</summary>
</member>
<member name="T:System.Threading.Tasks.ThreadPoolTaskScheduler">
<summary>Default thread pool scheduler.</summary>
</member>
<member name="T:System.Threading.Tasks.SynchronizationContextTaskScheduler">
<summary>
A TaskScheduler implementation that executes all tasks queued to it through a call to
<see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/> on the <see cref="T:System.Threading.SynchronizationContext"/>
that its associated with. The default constructor for this class binds to the current <see cref="T:System.Threading.SynchronizationContext"/>
</summary>
</member>
<member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.#ctor">
<summary>
Constructs a SynchronizationContextTaskScheduler associated with <see cref="T:System.Threading.SynchronizationContext.Current"/>
</summary>
<exception cref="T:System.InvalidOperationException">This constructor expects <see cref="T:System.Threading.SynchronizationContext.Current"/> to be set.</exception>
</member>
<member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
<summary>
Implemetation of <see cref="T:System.Threading.Tasks.TaskScheduler.QueueTask"/> for this scheduler class.
Simply posts the tasks to be executed on the associated <see cref="T:System.Threading.SynchronizationContext"/>.
</summary>
<param name="task"></param>
</member>
<member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
<summary>
Implementation of <see cref="T:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline"/> for this scheduler class.
The task will be executed inline only if the call happens within
the associated <see cref="T:System.Threading.SynchronizationContext"/>.
</summary>
<param name="task"></param>
<param name="taskWasPreviouslyQueued"></param>
</member>
<member name="P:System.Threading.Tasks.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
<summary>
Implementes the <see cref="T:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel"/> property for
this scheduler class.
By default it returns 1, because a <see cref="T:System.Threading.SynchronizationContext"/> based
scheduler only supports execution on a single thread.
</summary>
</member>
<member name="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs">
<summary>
Provides data for the event that is raised when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s
exception goes unobserved.
</summary>
<remarks>
The Exception property is used to examine the exception without marking it
as observed, whereas the <see cref="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved"/> method is used to mark the exception
as observed. Marking the exception as observed prevents it from triggering exception escalation policy
which, by default, terminates the process.
</remarks>
</member>
<member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.#ctor(System.AggregateException)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/> class
with the unobserved exception.
</summary>
<param name="exception">The Exception that has gone unobserved.</param>
</member>
<member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved">
<summary>
Marks the <see cref="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception"/> as "observed," thus preventing it
from triggering exception escalation policy which, by default, terminates the process.
</summary>
</member>
<member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Observed">
<summary>
Gets whether this exception has been marked as "observed."
</summary>
</member>
<member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception">
<summary>
The Exception that went unobserved.
</summary>
</member>
<member name="T:System.Threading.Tasks.TaskFactory">
<summary>
Provides support for creating and scheduling
<see cref="T:System.Threading.Tasks.Task">Tasks</see>.
</summary>
<remarks>
<para>
There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory"/>
class encodes some of these patterns into methods that pick up default settings, which are
configurable through its constructors.
</para>
<para>
A default instance of <see cref="T:System.Threading.Tasks.TaskFactory"/> is available through the
<see cref="P:System.Threading.Tasks.Task.Factory">Task.Factory</see> property.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.#ctor">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the default configuration.
</summary>
<remarks>
This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
<see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
<see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
<see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken)">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
</summary>
<param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
while calling the factory methods.</param>
<remarks>
This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
<see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
<see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
<see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskScheduler)">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
</summary>
<param name="scheduler">
The <see cref="T:System.Threading.Tasks.TaskScheduler">
TaskScheduler</see> to use to schedule any tasks created with this TaskFactory. A null value
indicates that the current TaskScheduler should be used.
</param>
<remarks>
With this constructor, the
<see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
<see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
<see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
</summary>
<param name="creationOptions">
The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
</param>
<param name="continuationOptions">
The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
</param>
<exception cref="T:ArgumentOutOfRangeException">
The exception that is thrown when the
<paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
argument specifies an invalid value.
</exception>
<remarks>
With this constructor, the
<see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
the
<see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
</summary>
<param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
while calling the factory methods.</param>
<param name="creationOptions">
The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
</param>
<param name="continuationOptions">
The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
</param>
<param name="scheduler">
The default <see cref="T:System.Threading.Tasks.TaskScheduler">
TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory. A null value
indicates that TaskScheduler.Current should be used.
</param>
<exception cref="T:ArgumentOutOfRangeException">
The exception that is thrown when the
<paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
argumentspecifies an invalid value.
</exception>
<remarks>
With this constructor, the
<see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
the
<see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
<paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
</summary>
<param name="action">The action delegate to execute asynchronously.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
argument is null.</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a Task using one of its constructors
and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
unless creation and scheduling must be separated, StartNew is the recommended
approach for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
</summary>
<param name="action">The action delegate to execute asynchronously.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
argument is null.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a Task using one of its constructors
and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
unless creation and scheduling must be separated, StartNew is the recommended
approach for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
</summary>
<param name="action">The action delegate to execute asynchronously.</param>
<param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
created
<see cref="T:System.Threading.Tasks.Task">Task.</see></param>
<returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
</summary>
<param name="action">The action delegate to execute asynchronously.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
<param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
created
<see cref="T:System.Threading.Tasks.Task">Task.</see></param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
</summary>
<param name="action">The action delegate to execute asynchronously.</param>
<param name="state">An object containing data to be used by the <paramref name="action"/>
delegate.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
argument is null.</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
</summary>
<param name="action">The action delegate to execute asynchronously.</param>
<param name="state">An object containing data to be used by the <paramref name="action"/>
delegate.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
<returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
argument is null.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
</summary>
<param name="action">The action delegate to execute asynchronously.</param>
<param name="state">An object containing data to be used by the <paramref name="action"/>
delegate.</param>
<param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
created
<see cref="T:System.Threading.Tasks.Task">Task.</see></param>
<returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
</summary>
<param name="action">The action delegate to execute asynchronously.</param>
<param name="state">An object containing data to be used by the <paramref name="action"/>
delegate.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
<param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
created
<see cref="T:System.Threading.Tasks.Task">Task.</see></param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0})">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="function">A function delegate that returns the future result to be available through
the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
argument is null.</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
of its constructors and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="function">A function delegate that returns the future result to be available through
the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
<returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
argument is null.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
of its constructors and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="function">A function delegate that returns the future result to be available through
the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
created
<see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
of its constructors and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="function">A function delegate that returns the future result to be available through
the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
<param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
created
<see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
Task{TResult}</see>.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
of its constructors and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="function">A function delegate that returns the future result to be available through
the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="state">An object containing data to be used by the <paramref name="function"/>
delegate.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
argument is null.</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
of its constructors and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="function">A function delegate that returns the future result to be available through
the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="state">An object containing data to be used by the <paramref name="function"/>
delegate.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
<returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
argument is null.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
of its constructors and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="function">A function delegate that returns the future result to be available through
the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="state">An object containing data to be used by the <paramref name="function"/>
delegate.</param>
<param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
created
<see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
of its constructors and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="function">A function delegate that returns the future result to be available through
the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="state">An object containing data to be used by the <paramref name="function"/>
delegate.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
<param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
created
<see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
Task{TResult}</see>.</param>
<returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
of its constructors and then calling
<see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
However, unless creation and scheduling must be separated, StartNew is the recommended approach
for both simplicity and performance.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult})">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
</summary>
<param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
<paramref name="endMethod"/>.</param>
<param name="endMethod">The action delegate that processes the completed <paramref
name="asyncResult"/>.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="asyncResult"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
operation.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
</summary>
<param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
<paramref name="endMethod"/>.</param>
<param name="endMethod">The action delegate that processes the completed <paramref
name="asyncResult"/>.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="asyncResult"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
operation.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
</summary>
<param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
<paramref name="endMethod"/>.</param>
<param name="endMethod">The action delegate that processes the completed <paramref name="asyncResult"/>.</param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the task that executes the end method.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="asyncResult"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="scheduler"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
operation.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/>
delegate.</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/>
delegate.</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0})">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
<paramref name="endMethod"/>.</param>
<param name="endMethod">The function delegate that processes the completed <paramref
name="asyncResult"/>.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="asyncResult"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
asynchronous operation.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
<paramref name="endMethod"/>.</param>
<param name="endMethod">The function delegate that processes the completed <paramref
name="asyncResult"/>.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="asyncResult"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
asynchronous operation.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
<paramref name="endMethod"/>.</param>
<param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the task that executes the end method.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="asyncResult"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="scheduler"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
asynchronous operation.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
begin and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
represents the asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
begin and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
represents the asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
begin and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/> delegate.</typeparam>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
represents the asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
begin and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/> delegate.</typeparam>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
represents the asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
begin and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/> delegate.</typeparam>
<typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
represents the asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
begin and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/> delegate.</typeparam>
<typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
represents the asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
begin and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/> delegate.</typeparam>
<typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
represents the asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
begin and end methods that conform to the Asynchronous Programming Model pattern.
</summary>
<typeparam name="TArg1">The type of the first argument passed to the <paramref
name="beginMethod"/> delegate.</typeparam>
<typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
delegate.</typeparam>
<typeparam name="TResult">The type of the result available through the
<see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
</typeparam>
<param name="beginMethod">The delegate that begins the asynchronous operation.</param>
<param name="endMethod">The delegate that ends the asynchronous operation.</param>
<param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
delegate.</param>
<param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
delegate.</param>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="beginMethod"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="endMethod"/> argument is null.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
value.</exception>
<returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
represents the asynchronous operation.</returns>
<remarks>
This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.CheckFromAsyncOptions(System.Threading.Tasks.TaskCreationOptions,System.Boolean)">
<summary>
Check validity of options passed to FromAsync method
</summary>
<param name="creationOptions">The options to be validated.</param>
<param name="hasBeginMethod">determines type of FromAsync method that called this method</param>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]})">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationAction">The action delegate to execute when all tasks in
the <paramref name="tasks"/> array have completed.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationAction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationAction">The action delegate to execute when all tasks in
the <paramref name="tasks"/> array have completed.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
that will be assigned to the new continuation task.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationAction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.Tasks.TaskContinuationOptions)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
<param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> value that controls the behavior of
the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationAction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<remarks>
The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
will be executed, are illegal with ContinueWhenAll.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
that will be assigned to the new continuation task.</param>
<param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> value that controls the behavior of
the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationAction"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="scheduler"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
will be executed, are illegal with ContinueWhenAll.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]})">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationAction">The action delegate to execute when all tasks in
the <paramref name="tasks"/> array have completed.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationAction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationAction">The action delegate to execute when all tasks in
the <paramref name="tasks"/> array have completed.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
that will be assigned to the new continuation task.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationAction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.Tasks.TaskContinuationOptions)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
<param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> value that controls the behavior of
the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationAction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<remarks>
The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
will be executed, are illegal with ContinueWhenAll.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
that will be assigned to the new continuation task.</param>
<param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> value that controls the behavior of
the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationAction"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="scheduler"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
will be executed, are illegal with ContinueWhenAll.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0})">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TResult">The type of the result that is returned by the <paramref
name="continuationFunction"/>
delegate and associated with the created <see
cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationFunction">The function delegate to execute when all tasks in the
<paramref name="tasks"/> array have completed.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationFunction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationFunction">The function delegate to execute when all tasks in the
<paramref name="tasks"/> array have completed.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
that will be assigned to the new continuation task.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationFunction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.Tasks.TaskContinuationOptions)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationFunction">The function delegate to execute when all tasks in the
<paramref name="tasks"/> array have completed.</param>
<param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> value that controls the behavior of
the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationFunction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<remarks>
The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
will be executed, are illegal with ContinueWhenAll.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationFunction">The function delegate to execute when all tasks in the
<paramref name="tasks"/> array have completed.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
that will be assigned to the new continuation task.</param>
<param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> value that controls the behavior of
the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationFunction"/> argument is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="scheduler"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:ArgumentOutOfRangeException">The exception that is thrown when the
<paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
value.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
<remarks>
The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
will be executed, are illegal with ContinueWhenAll.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1})">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TResult">The type of the result that is returned by the <paramref
name="continuationFunction"/>
delegate and associated with the created <see
cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
<typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationFunction">The function delegate to execute when all tasks in the
<paramref name="tasks"/> array have completed.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationFunction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
<typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationFunction">The function delegate to execute when all tasks in the
<paramref name="tasks"/> array have completed.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
that will be assigned to the new continuation task.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationFunction"/> argument is null.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array contains a null value.</exception>
<exception cref="T:System.ArgumentException">The exception that is thrown when the
<paramref name="tasks"/> array is empty.</exception>
<exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
<exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
has already been disposed.
</exception>
</member>
<member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.Tasks.TaskContinuationOptions)">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
that will be started upon the completion of a set of provided Tasks.
</summary>
<typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
<typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
<param name="tasks">The array of tasks from which to continue.</param>
<param name="continuationFunction">The function delegate to execute when all tasks in the
<paramref name="tasks"/> array have completed.</param>
<param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> value that controls the behavior of
the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="tasks"/> array is null.</exception>
<exception cref="T:System.ArgumentNullException">The exception that is thrown when the
<paramref name="continuationFunction"/> argument is null.</exception>
<exception