Task Class

This topic describes several internal members of the System.Threading.Tasks.Task class to help you implement a custom debugger. For general information about this class, see Task.

NoteNote

This information is specific to .NET Framework 4 and is subject to change in a future release.

Because you cannot access these members from the .NET Framework, this topic provides syntax in Microsoft intermediate language (MSIL). For more information about MSIL, see Compiling to MSIL.

Namespace:  System.Threading.Tasks

Assembly:  mscorlib (in mscorlib.dll)

.class public auto ansi System.Threading.Tasks.Task
       extends System.Object
       implements System.Threading.IThreadPoolWorkItem,
                  System.IAsyncResult,
                  System.IDisposable,
                  System.Threading.ICancelableOperation

Classes

Name

Description

ContingentProperties

Contains additional properties for a Task object.

Fields

Name

Description

m_action

The delegate that represents the code to execute in the Task object.

m_contingentProperties

Stores additional properties of the Task object.

m_parent

The backing field for the TaskParent() property.

m_stateFlags

Stores information about the current state of the Task object.

m_stateObject

An object that represents data that will be used by the action.

m_taskId

The backing field for the Task.Id property.

s_taskIdCounter

The next available identifier for a Task object.

TASK_STATE_CANCELED

Indicates that the task was canceled before it reached the running state, or that the task acknowledged its cancellation and completed without exception.

TASK_STATE_EXECUTED

Indicates that the task is running.

TASK_STATE_FAULTED

Indicates that the task completed because of an unhandled exception.

TASK_STATE_RAN_TO_COMPLETION

Indicates that the task completed execution successfully.

TASK_STATE_WAITING_ON_CHILDREN

Indicates that the task has finished executing its delegate and is implicitly waiting for attached child tasks to finish.

The following internal methods are useful to a debugger engine because they mark the entrance to Task code execution:

  • Execute

  • ExecuteEntry

  • ExecuteWithThreadLocal

  • Finish

  • InnerInvoke

  • InternalWait

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft