Permalink
Fetching contributors…
Cannot retrieve contributors at this time
9402 lines (9375 sloc) 651 KB
<?xml version="1.0"?>
<doc>
<assembly>
<name>AsyncCtpLibrary_Phone</name>
</assembly>
<members>
<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:AsyncCtpExtensions">
<summary>Asynchronous wrappers for .NET Framework operations.</summary>
</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="M:AsyncCtpExtensions.ResolveAddressTaskAsync(System.Device.Location.ICivicAddressResolver,System.Device.Location.GeoCoordinate)">
<summary>Initiates an asynchronous request to resolve a latitude/longitude location to an address.</summary>
<param name="civicAddressResolver">The resolver.</param>
<param name="coordinate">The latitude/longitude location to resolve to an address.</param>
<returns>A Task that represents the asynchronous operation.</returns>
</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="T:System.Threading.Tasks.TaskCanceledException">
<summary>
Represents an exception used to communicate task cancellation.
</summary>
</member>
<member name="T:System.OperationCanceledException">
<summary>The exception that is thrown in a thread upon cancellation of an operation that the thread was executing.</summary>
</member>
<member name="M:System.OperationCanceledException.#ctor">
<summary>Initializes the exception.</summary>
</member>
<member name="M:System.OperationCanceledException.#ctor(System.String)">
<summary>Initializes the exception.</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception)">
<summary>Initializes the exception.</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:System.OperationCanceledException.#ctor(System.Threading.CancellationToken)">
<summary>Initializes the exception.</summary>
<param name="token">A cancellation token associated with the operation that was canceled.</param>
</member>
<member name="M:System.OperationCanceledException.#ctor(System.String,System.Threading.CancellationToken)">
<summary>Initializes the exception.</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="token">A cancellation token associated with the operation that was canceled.</param>
</member>
<member name="M:System.OperationCanceledException.#ctor(System.String,System.Exception,System.Threading.CancellationToken)">
<summary>Initializes the exception.</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
<param name="token">A cancellation token associated with the operation that was canceled.</param>
</member>
<member name="P:System.OperationCanceledException.CancellationToken">
<summary>Gets a token associated with the operation that was canceled.</summary>
</member>
<member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
class with a specified error message.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
class with a specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
</summary>
<param name="task">A task that has been canceled.</param>
</member>
<member name="P:System.Threading.Tasks.TaskCanceledException.Task">
<summary>
Gets the task associated with this exception.
</summary>
<remarks>
It is permissible for no Task to be associated with a
<see cref="T:System.Threading.Tasks.TaskCanceledException"/>, in which case
this property will return null.
</remarks>
</member>
<member name="T:System.Threading.Tasks.TaskFactory`1">
<summary>
Provides support for creating and scheduling
<see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects.
</summary>
<typeparam name="TResult">The type of the results that are available though
the <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects that are associated with
the methods in this class.</typeparam>
<remarks>
<para>
There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory`1"/>
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`1"/> is available through the
<see cref="P:System.Threading.Tasks.Task`1.Factory">Task{TResult}.Factory</see> property.
</para>
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory`1.#ctor">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
</summary>
<remarks>
This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> 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`1.#ctor(System.Threading.CancellationToken)">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
</summary>
<param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.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`1"/> 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`1.#ctor(System.Threading.Tasks.TaskScheduler)">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> 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{TResult}. 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`1.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
<summary>
Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> 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{TResult}.
</param>
<param name="continuationOptions">
The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
</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`1.#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`1"/> instance with the specified configuration.
</summary>
<param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.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{TResult}.
</param>
<param name="continuationOptions">
The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
</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{TResult}. 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`1.StartNew(System.Func{`0})">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<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`1.StartNew(System.Func{`0},System.Threading.CancellationToken)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<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`1.CancellationToken"/> that will be assigned to the new 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`1.StartNew(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<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`1.StartNew(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>
<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>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</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`1.StartNew(System.Func{System.Object,`0},System.Object)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<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`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
<summary>
Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
</summary>
<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`1.CancellationToken"/> that will be assigned to the new 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`1.StartNew(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>
<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`1.StartNew(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>
<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`1.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`1.FromAsync(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>
<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`1.FromAsync(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>
<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`1.FromAsync(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>
<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`1.FromAsync(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>
<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`1.FromAsync(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>
<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`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``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>
<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`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``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>
<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`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``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>
<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`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``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>
<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`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``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>
<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`1.FromAsync``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``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>
<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`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0})">
<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>
<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}">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="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`1.ContinueWhenAll(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{TResult}">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="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}">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="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`1.ContinueWhenAll(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>
<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}">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="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`1.ContinueWhenAll(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>
<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">Task</see>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">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="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`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0})">
<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="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`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},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="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`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`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="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 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`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`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="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>
<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`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0})">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
that will be started upon the completion of any Task in the provided set.
</summary>
<param name="tasks">The array of tasks from which to continue when one task completes.</param>
<param name="continuationFunction">The function delegate to execute when one task in the <paramref
name="tasks"/> array completes.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">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="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`1.ContinueWhenAny(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{TResult}">Task</see>
that will be started upon the completion of any Task in the provided set.
</summary>
<param name="tasks">The array of tasks from which to continue when one task completes.</param>
<param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</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}">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="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`1.ContinueWhenAny(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 any Task in the provided set.
</summary>
<param name="tasks">The array of tasks from which to continue when one task completes.</param>
<param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</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}">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="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 ContinueWhenAny.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(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 any Task in the provided set.
</summary>
<param name="tasks">The array of tasks from which to continue when one task completes.</param>
<param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</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">Task</see>.</param>
<returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">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="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 ContinueWhenAny.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0})">
<summary>
Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
that will be started upon the completion of any Task in the provided set.
</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 when one task completes.</param>
<param name="continuationFunction">The function delegate to execute when one task in the
<paramref name="tasks"/> array completes.</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`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},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 any Task in the provided set.
</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 when one task completes.</param>
<param name="continuationFunction">The function delegate to execute when one task in the
<paramref name="tasks"/> array completes.</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`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`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 any Task in the provided set.
</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 when one task completes.</param>
<param name="continuationFunction">The function delegate to execute when one task in the
<paramref name="tasks"/> array completes.</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 ContinueWhenAny.
</remarks>
</member>
<member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`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 any Task in the provided set.
</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 when one task completes.</param>
<param name="continuationFunction">The function delegate to execute when one task in the
<paramref name="tasks"/> array completes.</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 ContinueWhenAny.
</remarks>
</member>
<member name="P:System.Threading.Tasks.TaskFactory`1.CancellationToken">
<summary>
Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
TaskFactory.
</summary>
<remarks>
This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to all
tasks created by this factory unless another CancellationToken value is explicitly specified
during the call to the factory methods.
</remarks>
</member>
<member name="P:System.Threading.Tasks.TaskFactory`1.Scheduler">
<summary>
Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
TaskFactory{TResult}.
</summary>
<remarks>
This property returns the default scheduler for this factory. It will be used to schedule all
tasks unless another scheduler is explicitly specified during calls to this factory's methods.
If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
will be used.
</remarks>
</member>
<member name="P:System.Threading.Tasks.TaskFactory`1.CreationOptions">
<summary>
Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
</see> value of this TaskFactory{TResult}.
</summary>
<remarks>
This property returns the default creation options for this factory. They will be used to create all
tasks unless other options are explicitly specified during calls to this factory's methods.
</remarks>
</member>
<member name="P:System.Threading.Tasks.TaskFactory`1.ContinuationOptions">
<summary>
Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
</see> value of this TaskFactory{TResult}.
</summary>
<remarks>
This property returns the default continuation options for this factory. They will be used to create
all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
</remarks>
</member>
<member name="T:System.Threading.LazyInitializer">
<summary>
Provides lazy initialization routines.
</summary>
<remarks>
These routines avoid needing to allocate a dedicated, lazy-initialization instance, instead using
references to ensure targets have been initialized as they are accessed.
</remarks>
</member>
<member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
<summary>
Initializes a target reference type with the type's default constructor if the target has not
already been initialized.
</summary>
<typeparam name="T">The refence type of the reference to be initialized.</typeparam>
<param name="target">A reference of type <typeparamref name="T"/> to initialize if it has not
already been initialized.</param>
<returns>The initialized reference of type <typeparamref name="T"/>.</returns>
<exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a default
constructor.</exception>
<exception cref="T:System.MemberAccessException">
Permissions to access the constructor of type <typeparamref name="T"/> were missing.
</exception>
<remarks>
<para>
This method may only be used on reference types. To ensure initialization of value
types, see other overloads of EnsureInitialized.
</para>
<para>
This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
objects that were not stored. If such objects must be disposed, it is up to the caller to determine
if an object was not used and to then dispose of the object appropriately.
</para>
</remarks>
</member>
<member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
<summary>
Initializes a target reference type using the specified function if it has not already been
initialized.
</summary>
<typeparam name="T">The reference type of the reference to be initialized.</typeparam>
<param name="target">The reference of type <typeparamref name="T"/> to initialize if it has not
already been initialized.</param>
<param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
reference.</param>
<returns>The initialized reference of type <typeparamref name="T"/>.</returns>
<exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a
default constructor.</exception>
<exception cref="T:System.InvalidOperationException"><paramref name="valueFactory"/> returned
null.</exception>
<remarks>
<para>
This method may only be used on reference types, and <paramref name="valueFactory"/> may
not return a null reference (Nothing in Visual Basic). To ensure initialization of value types or
to allow null reference types, see other overloads of EnsureInitialized.
</para>
<para>
This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
objects that were not stored. If such objects must be disposed, it is up to the caller to determine
if an object was not used and to then dispose of the object appropriately.
</para>
</remarks>
</member>
<member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Func{``0})">
<summary>
Initialize the target using the given delegate (slow path).
</summary>
<typeparam name="T">The reference type of the reference to be initialized.</typeparam>
<param name="target">The variable that need to be initialized</param>
<param name="valueFactory">The delegate that will be executed to initialize the target</param>
<returns>The initialized variable</returns>
</member>
<member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
<summary>
Initializes a target reference or value type with its default constructor if it has not already
been initialized.
</summary>
<typeparam name="T">The type of the reference to be initialized.</typeparam>
<param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
has not already been initialized.</param>
<param name="initialized">A reference to a boolean that determines whether the target has already
been initialized.</param>
<param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
<paramref name="target"/>.</param>
<returns>The initialized value of type <typeparamref name="T"/>.</returns>
</member>
<member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
<summary>
Initializes a target reference or value type with a specified function if it has not already been
initialized.
</summary>
<typeparam name="T">The type of the reference to be initialized.</typeparam>
<param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
has not already been initialized.</param>
<param name="initialized">A reference to a boolean that determines whether the target has already
been initialized.</param>
<param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
<paramref name="target"/>.</param>
<param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
reference or value.</param>
<returns>The initialized value of type <typeparamref name="T"/>.</returns>
</member>
<member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
<summary>
Ensure the target is initialized and return the value (slow path). This overload permits nulls
and also works for value type targets. Uses the supplied function to create the value.
</summary>
<typeparam name="T">The type of target.</typeparam>
<param name="target">A reference to the target to be initialized.</param>
<param name="initialized">A reference to a location tracking whether the target has been initialized.</param>
<param name="syncLock">A reference to a location containing a mutual exclusive lock.</param>
<param name="valueFactory">
The <see cref="T:System.Func{T}"/> to invoke in order to produce the lazily-initialized value.
</param>
<returns>The initialized object.</returns>
</member>
<member name="T:System.Threading.CancellationToken">
<summary>
Propogates notification that operations should be canceled.
</summary>
<remarks>
<para>
A <see cref="T:System.Threading.CancellationToken"/> may be created directly in an unchangeable canceled or non-canceled state
using the CancellationToken's constructors. However, to have a CancellationToken that can change
from a non-canceled to a canceled state,
<see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> must be used.
CancellationTokenSource exposes the associated CancellationToken that may be canceled by the source through its
<see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property.
</para>
<para>
Once canceled, a token may not transition to a non-canceled state, and a token whose
<see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> is false will never change to one that can be canceled.
</para>
<para>
All members of this struct are thread-safe and may be used concurrently from multiple threads.
</para>
</remarks>
</member>
<member name="M:System.Threading.CancellationToken.#ctor(System.Threading.CancellationTokenSource)">
<summary>
Internal constructor only a CancellationTokenSource should create a CancellationToken
</summary>
</member>
<member name="M:System.Threading.CancellationToken.#ctor(System.Boolean)">
<summary>
Initializes the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
</summary>
<param name="canceled">
The canceled state for the token.
</param>
<remarks>
Tokens created with this constructor will remain in the canceled state specified
by the <paramref name="canceled"/> parameter. If <paramref name="canceled"/> is false,
both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be false.
If <paramref name="canceled"/> is true,
both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be true.
</remarks>
</member>
<member name="M:System.Threading.CancellationToken.Register(System.Action)">
<summary>
Registers a delegate that will be called when this <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
</summary>
<remarks>
<para>
If this token is already in the canceled state, the
delegate will be run immediately and synchronously. Any exception the delegate generates will be
propogated out of this method call.
</para>
</remarks>
<param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
<returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
be used to deregister the callback.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
<exception cref="T:System.ObjectDisposedException">The associated <see
cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="M:System.Threading.CancellationToken.Register(System.Action,System.Boolean)">
<summary>
Registers a delegate that will be called when this
<see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
</summary>
<remarks>
<para>
If this token is already in the canceled state, the
delegate will be run immediately and synchronously. Any exception the delegate generates will be
propogated out of this method call.
</para>
</remarks>
<param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
<param name="useSynchronizationContext">A Boolean value that indicates whether to capture
the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
when invoking the <paramref name="callback"/>.</param>
<returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
be used to deregister the callback.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
<exception cref="T:System.ObjectDisposedException">The associated <see
cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object)">
<summary>
Registers a delegate that will be called when this
<see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
</summary>
<remarks>
<para>
If this token is already in the canceled state, the
delegate will be run immediately and synchronously. Any exception the delegate generates will be
propogated out of this method call.
</para>
</remarks>
<param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
<param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
<returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
be used to deregister the callback.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
<exception cref="T:System.ObjectDisposedException">The associated <see
cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object,System.Boolean)">
<summary>
Registers a delegate that will be called when this
<see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
</summary>
<remarks>
<para>
If this token is already in the canceled state, the
delegate will be run immediately and synchronously. Any exception the delegate generates will be
propogated out of this method call.
</para>
</remarks>
<param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
<param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
<param name="useSynchronizationContext">A Boolean value that indicates whether to capture
the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
when invoking the <paramref name="callback"/>.</param>
<returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
be used to deregister the callback.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
<exception cref="T:System.ObjectDisposedException">The associated <see
cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="M:System.Threading.CancellationToken.Equals(System.Threading.CancellationToken)">
<summary>
Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
specified token.
</summary>
<param name="other">The other <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to which to compare this
instance.</param>
<returns>True if the instances are equal; otherwise, false. Two tokens are equal if they are associated
with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
</member>
<member name="M:System.Threading.CancellationToken.Equals(System.Object)">
<summary>
Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
specified <see cref="T:System.Object"/>.
</summary>
<param name="other">The other object to which to compare this instance.</param>
<returns>True if <paramref name="other"/> is a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
and if the two instances are equal; otherwise, false. Two tokens are equal if they are associated
with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
<exception cref="T:System.ObjectDisposedException">An associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="M:System.Threading.CancellationToken.GetHashCode">
<summary>
Serves as a hash function for a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
</summary>
<returns>A hash code for the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance.</returns>
</member>
<member name="M:System.Threading.CancellationToken.op_Equality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
<summary>
Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are equal.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True if the instances are equal; otherwise, false.</returns>
<exception cref="T:System.ObjectDisposedException">An associated <see
cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="M:System.Threading.CancellationToken.op_Inequality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
<summary>
Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are not equal.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True if the instances are not equal; otherwise, false.</returns>
<exception cref="T:System.ObjectDisposedException">An associated <see
cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="M:System.Threading.CancellationToken.ThrowIfCancellationRequested">
<summary>
Throws a <see cref="T:System.OperationCanceledException">OperationCanceledException</see> if
this token has had cancellation requested.
</summary>
<remarks>
This method provides functionality equivalent to:
<code>
if (token.IsCancellationRequested)
throw new OperationCanceledException(token);
</code>
</remarks>
<exception cref="T:System.OperationCanceledException">The token has had cancellation requested.</exception>
<exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="P:System.Threading.CancellationToken.None">
<summary>
Returns an empty CancellationToken value.
</summary>
<remarks>
The <see cref="T:System.Threading.CancellationToken"/> value returned by this property will be non-cancelable by default.
</remarks>
</member>
<member name="P:System.Threading.CancellationToken.IsCancellationRequested">
<summary>
Gets whether cancellation has been requested for this token.
</summary>
<value>Whether cancellation has been requested for this token.</value>
<remarks>
<para>
This property indicates whether cancellation has been requested for this token,
either through the token initially being construted in a canceled state, or through
calling <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
on the token's associated <see cref="T:System.Threading.CancellationTokenSource"/>.
</para>
<para>
If this property is true, it only guarantees that cancellation has been requested.
It does not guarantee that every registered handler
has finished executing, nor that cancellation requests have finished propagating
to all registered handlers. Additional synchronization may be required,
particularly in situations where related objects are being canceled concurrently.
</para>
</remarks>
</member>
<member name="P:System.Threading.CancellationToken.CanBeCanceled">
<summary>
Gets whether this token is capable of being in the canceled state.
</summary>
<remarks>
If CanBeCanceled returns false, it is guaranteed that the token will never transition
into a canceled state, meaning that <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will never
return true.
</remarks>
</member>
<member name="P:System.Threading.CancellationToken.WaitHandle">
<summary>
Gets a <see cref="T:System.Threading.WaitHandle"/> that is signaled when the token is canceled.</summary>
<remarks>
Accessing this property causes a <see cref="T:System.Threading.WaitHandle">WaitHandle</see>
to be instantiated. It is preferable to only use this property when necessary, and to then
dispose the associated <see cref="T:System.Threading.CancellationTokenSource"/> instance at the earliest opportunity (disposing
the source will dispose of this allocated handle). The handle should not be closed or disposed directly.
</remarks>
<exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
</member>
<member name="T:System.AggregateException">
<summary>Represents one or more errors that occur during application execution.</summary>
<remarks>
<see cref="T:System.AggregateException"/> is used to consolidate multiple failures into a single, throwable
exception object.
</remarks>
</member>
<member name="M:System.AggregateException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.AggregateException"/> class.
</summary>
</member>
<member name="M:System.AggregateException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
a specified error message.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:System.AggregateException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="innerException"/> argument
is null.</exception>
</member>
<member name="M:System.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
<summary>
Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
references to the inner exceptions that are the cause of this exception.
</summary>
<param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
is null.</exception>
<exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
null.</exception>
</member>
<member name="M:System.AggregateException.#ctor(System.Exception[])">
<summary>
Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
references to the inner exceptions that are the cause of this exception.
</summary>
<param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
is null.</exception>
<exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
null.</exception>
</member>
<member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
<summary>
Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
message and references to the inner exceptions that are the cause of this exception.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
is null.</exception>
<exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
null.</exception>
</member>
<member name="M:System.AggregateException.#ctor(System.String,System.Exception[])">
<summary>
Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
message and references to the inner exceptions that are the cause of this exception.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
is null.</exception>
<exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
null.</exception>
</member>
<member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IList{System.Exception})">
<summary>
Allocates a new aggregate exception with the specified message and list of inner exceptions.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
is null.</exception>
<exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
null.</exception>
</member>
<member name="M:System.AggregateException.GetBaseException">
<summary>
Returns the <see cref="T:System.AggregateException"/> that is the root cause of this exception.
</summary>
</member>
<member name="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
<summary>
Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.AggregateException"/>.
</summary>
<param name="predicate">The predicate to execute for each exception. The predicate accepts as an
argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
whether the exception was handled.</param>
<remarks>
Each invocation of the <paramref name="predicate"/> returns true or false to indicate whether the
<see cref="T:System.Exception"/> was handled. After all invocations, if any exceptions went
unhandled, all unhandled exceptions will be put into a new <see cref="T:System.AggregateException"/>
which will be thrown. Otherwise, the <see cref="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
invocations of the <paramref name="predicate"/> throws an exception, it will halt the processing
of any more exceptions and immediately propagate the thrown exception as-is.
</remarks>
<exception cref="T:System.AggregateException">An exception contained by this <see cref="T:System.AggregateException"/> was not handled.</exception>
<exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> argument is
null.</exception>
</member>
<member name="M:System.AggregateException.Flatten">
<summary>
Flattens an <see cref="T:System.AggregateException"/> instances into a single, new instance.
</summary>
<returns>A new, flattened <see cref="T:System.AggregateException"/>.</returns>
<remarks>
If any inner exceptions are themselves instances of
<see cref="T:System.AggregateException"/>, this method will recursively flatten all of them. The
inner exceptions returned in the new <see cref="T:System.AggregateException"/>
will be the union of all of the the inner exceptions from exception tree rooted at the provided
<see cref="T:System.AggregateException"/> instance.
</remarks>
</member>
<member name="M:System.AggregateException.ToString">
<summary>
Creates and returns a string representation of the current <see cref="T:System.AggregateException"/>.
</summary>
<returns>A string representation of the current exception.</returns>
</member>
<member name="P:System.AggregateException.InnerExceptions">
<summary>
Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
current exception.
</summary>
</member>
<member name="T:System.Threading.StackCrawlMark2">
<summary>
A dummy replacement for the .NET internal class StackCrawlMark.
</summary>
</member>
<member name="T:System.Threading.Platform">
<summary>
A convenience class for common platform-related logic.
</summary>
</member>
<member name="P:System.Threading.Platform.ProcessorCount">
<summary>
Gets the number of available processors available to this process on the current machine.
</summary>
</member>
<member name="T:System.Threading.Tasks.TaskSchedulerException">
<summary>
Represents an exception used to communicate an invalid operation by a
<see cref="T:System.Threading.Tasks.TaskScheduler"/>.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/> class.
</summary>
</member>
<member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
class with a specified error message.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
class using the default error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
class with a specified error message and a reference to the inner exception that is the cause of
this exception.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="T:System.Environment2">
<summary>
A dummy class that implements GetResourceString. Environment.GetResourceString(string) is an internal
method in mscorlib.dll.
</summary>
</member>
<member name="T:System.Threading.Tasks.SR">
<summary>String resources for the assembly.</summary>
</member>
<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.Threading.Tasks.Task`1">
<summary>
Represents an asynchronous operation that produces a result at some time in the future.
</summary>
<typeparam name="TResult">
The type of the result produced by this <see cref="T:System.Threading.Tasks.Task`1"/>.
</typeparam>
<remarks>
<para>
<see cref="T:System.Threading.Tasks.Task`1"/> instances may be created in a variety of ways. The most common approach is by
using the task's <see cref="P:System.Threading.Tasks.Task`1.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance that can be used to create tasks for several
purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task`1"/> that runs a function, the factory's StartNew
method may be used:
<code>
// C#
var t = Task&lt;int&gt;.Factory.StartNew(() =&gt; GenerateResult());
- or -
var t = Task.Factory.StartNew(() =&gt; GenerateResult());
' Visual Basic
Dim t = Task&lt;int&gt;.Factory.StartNew(Function() GenerateResult())
- or -
Dim t = Task.Factory.StartNew(Function() GenerateResult())
</code>
</para>
<para>
The <see cref="T:System.Threading.Tasks.Task`1"/> class also provides constructors that initialize the task but that do not
schedule it for execution. For performance reasons, the StartNew method should be the
preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
and scheduling must be separated, the constructors may be used, and the task's
<see cref="M:System.Threading.Tasks.Task.Start">Start</see>
method may then be used to schedule the task for execution at a later time.
</para>
<para>
All members of <see cref="T:System.Threading.Tasks.Task`1"/>, except for
<see cref="M:System.Threading.Tasks.Task.Dispose">Dispose</see>, are thread-safe
and may be used from multiple threads concurrently.
</para>
</remarks>
</member>
<member name="T:System.Threading.Tasks.Task">
<summary>
Represents an asynchronous operation.
</summary>
<remarks>
<para>
<see cref="T:System.Threading.Tasks.Task"/> instances may be created in a variety of ways. The most common approach is by
using the Task type's <see cref="P:System.Threading.Tasks.Task.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance that can be used to create tasks for several
purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task"/> that runs an action, the factory's StartNew
method may be used:
<code>
// C#
var t = Task.Factory.StartNew(() =&gt; DoAction());
' Visual Basic
Dim t = Task.Factory.StartNew(Function() DoAction())
</code>
</para>
<para>
The <see cref="T:System.Threading.Tasks.Task"/> class also provides constructors that initialize the Task but that do not
schedule it for execution. For performance reasons, TaskFactory's StartNew method should be the
preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
and scheduling must be separated, the constructors may be used, and the task's <see cref="M:System.Threading.Tasks.Task.Start"/>
method may then be used to schedule the task for execution at a later time.
</para>
<para>
All members of <see cref="T:System.Threading.Tasks.Task"/>, except for <see cref="M:System.Threading.Tasks.Task.Dispose"/>, are thread-safe
and may be used from multiple threads concurrently.
</para>
<para>
For operations that return values, the <see cref="T:System.Threading.Tasks.Task`1"/> class
should be used.
</para>
<para>
For developers implementing custom debuggers, several internal and private members of Task may be
useful (these may change from release to release). The Int32 m_taskId field serves as the backing
store for the <see cref="P:System.Threading.Tasks.Task.Id"/> property, however accessing this field directly from a debugger may be
more efficient than accessing the same value through the property's getter method (the
s_taskIdCounter Int32 counter is used to retrieve the next available ID for a Task). Similarly, the
Int32 m_stateFlags field stores information about the current lifecycle stage of the Task,
information also accessible through the <see cref="P:System.Threading.Tasks.Task.Status"/> property. The m_action System.Object
field stores a reference to the Task's delegate, and the m_stateObject System.Object field stores the
async state passed to the Task by the developer. Finally, for debuggers that parse stack frames, the
InternalWait method serves a potential marker for when a Task is entering a wait operation.
</para>
</remarks>
</member>
<member name="T:System.Threading.Tasks.IThreadPoolWorkItem">
<summary>
An interface similar to the one added in .NET 4.0.
</summary>
</member>
<member name="M:System.Threading.Tasks.Task.#cctor">
<summary>
A type initializer that runs with the appropriate permissions.
</summary>
</member>
<member name="M:System.Threading.Tasks.Task.#ctor(System.Action)">
<summary>
Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action.
</summary>
<param name="action">The delegate that represents the code to execute in the Task.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
</member>
<member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken)">
<summary>
Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
</summary>
<param name="action">The delegate that represents the code to execute in the Task.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
that will be assigned to the new Task.</param>
<exception cref="T:System.ArgumentNullException">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>
</member>
<member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
</summary>
<param name="action">The delegate that represents the code to execute in the task.</param>
<param name="creationOptions">
The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
customize the Task's behavior.
</param>
<exception cref="T:System.ArgumentNullException">
The <paramref name="action"/> argument is null.
</exception>
<exception cref="T:ArgumentOutOfRangeException">
The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
</exception>
</member>
<member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
<summary>
Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
</summary>
<param name="action">The delegate that represents the code to execute in the task.</param>
<param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
<param name="creationOptions">
The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
customize the Task's behavior.
</param>
<exception cref="T:System.ArgumentNullException">
The <paramref name="action"/> argument is null.
</exception>
<exception cref="T:ArgumentOutOfRangeException">
The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
</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.Task.#ctor(System.Action{System.Object},System.Object)">
<summary>
Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and state.
</summary>
<param name="action">The delegate that represents the code to execute in the task.</param>
<param name="state">An object representing data to be used by the action.</param>
<exception cref="T:System.ArgumentNullException">
The <paramref name="action"/> argument is null.
</exception>