## Task class

代表项目中的任务。

```csharp
public class Task : IEquatable<Task>
```

## 特性

| 姓名 | 描述 |
| --- | --- |
| [ActivityId](../../aspose.tasks/task/activityid/) { get; set; } | 表示活动 ID 字段 - Primavera 使用的任务的唯一标识符。 （仅适用于 Primavera 项目）. |
| [ActualCost](../../aspose.tasks/task/actualcost/) { get; set; } | 获取或设置 ActualCost 的值。 |
| [ActualDuration](../../aspose.tasks/task/actualduration/) { get; set; } | 获取或设置 ActualDuration 的值。 |
| [ActualFinish](../../aspose.tasks/task/actualfinish/) { get; set; } | 获取或设置 ActualFinish 的值。 |
| [ActualOvertimeCost](../../aspose.tasks/task/actualovertimecost/) { get; set; } | 获取或设置 ActualOvertimeCost 的值。 |
| [ActualOvertimeWork](../../aspose.tasks/task/actualovertimework/) { get; set; } | 获取或设置 ActualOvertimeWork 的值。 |
| [ActualOvertimeWorkProtected](../../aspose.tasks/task/actualovertimeworkprotected/) { get; set; } | 获取或设置 ActualOvertimeWorkProtected 的值。 |
| [ActualStart](../../aspose.tasks/task/actualstart/) { get; set; } | 获取或设置 ActualStart. 的值 |
| [ActualWork](../../aspose.tasks/task/actualwork/) { get; set; } | 获取或设置 ActualWork 的值。 |
| [ActualWorkProtected](../../aspose.tasks/task/actualworkprotected/) { get; set; } | 获取或设置 ActualWorkProtected 的值。 |
| [ACWP](../../aspose.tasks/task/acwp/) { get; set; } | 获取或设置 ACWP 的值。 |
| [Assignments](../../aspose.tasks/task/assignments/) { get; } | 获取此对象的资源分配集合。 |
| [Baselines](../../aspose.tasks/task/baselines/) { get; set; } | 获取或设置任务的基线值集合。 |
| [BCWP](../../aspose.tasks/task/bcwp/) { get; set; } | 获取或设置 BCWP 的值。 |
| [BCWS](../../aspose.tasks/task/bcws/) { get; set; } | 获取或设置 BCWS 的值。 |
| [BudgetCost](../../aspose.tasks/task/budgetcost/) { get; set; } | 获取或设置 BudgetCost 的值。 |
| [BudgetWork](../../aspose.tasks/task/budgetwork/) { get; set; } | 获取或设置 BudgetWork 的值。 |
| [Calendar](../../aspose.tasks/task/calendar/) { get; set; } | 获取或设置日历的值。 |
| [Children](../../aspose.tasks/task/children/) { get; } | 获取此对象的子任务集合。 表示子任务的 TaskCollection 对象。 |
| [CommitmentFinish](../../aspose.tasks/task/commitmentfinish/) { get; set; } | 获取或设置 CommitmentFinish 的值。 |
| [CommitmentStart](../../aspose.tasks/task/commitmentstart/) { get; set; } | 获取或设置 CommitmentStart 的值。 |
| [CommitmentType](../../aspose.tasks/task/commitmenttype/) { get; set; } | 获取或设置 CommitmentType 的值。 |
| [ConstraintDate](../../aspose.tasks/task/constraintdate/) { get; set; } | 获取或设置 ConstraintDate 的值。 |
| [ConstraintType](../../aspose.tasks/task/constrainttype/) { get; set; } | 获取或设置 ConstraintType 的值。 |
| [Contact](../../aspose.tasks/task/contact/) { get; set; } | 获取或设置联系人的值。 |
| [Cost](../../aspose.tasks/task/cost/) { get; set; } | 获取或设置 Cost. 的值 |
| [CostVariance](../../aspose.tasks/task/costvariance/) { get; set; } | 获取或设置 CostVariance 的值。 |
| [Created](../../aspose.tasks/task/created/) { get; set; } | 获取或设置 Created 的值。 |
| [CV](../../aspose.tasks/task/cv/) { get; set; } | 获取或设置 CV 的值。 |
| [Deadline](../../aspose.tasks/task/deadline/) { get; set; } | 获取或设置截止日期的值。 |
| [DisplayAsSummary](../../aspose.tasks/task/displayassummary/) { get; set; } | 获取或设置一个值，指示是否设置 DisplayAsSummary。 |
| [DisplayOnTimeline](../../aspose.tasks/task/displayontimeline/) { get; set; } | 获取或设置一个值，指示是否设置 DisplayOnTimeline。 |
| [Duration](../../aspose.tasks/task/duration/) { get; set; } | 获取或设置持续时间的值。 |
| [DurationFormat](../../aspose.tasks/task/durationformat/) { get; set; } | 获取或设置 DurationFormat 的值。 |
| [DurationText](../../aspose.tasks/task/durationtext/) { get; set; } | 获取或设置 DurationText 的值。 |
| [DurationVariance](../../aspose.tasks/task/durationvariance/) { get; set; } | 获取或设置 DurationVariance 的值。 |
| [EarlyFinish](../../aspose.tasks/task/earlyfinish/) { get; set; } | 获取或设置 EarlyFinish 的值。 |
| [EarlyStart](../../aspose.tasks/task/earlystart/) { get; set; } | 获取或设置 EarlyStart 的值。 |
| [EarnedValueMethod](../../aspose.tasks/task/earnedvaluemethod/) { get; set; } | 获取或设置 EarnedValueMethod 的值。 |
| [ExtendedAttributes](../../aspose.tasks/task/extendedattributes/) { get; } | 获取包含扩展属性值的 ExtendedAttributeCollection 对象。 |
| [ExternalId](../../aspose.tasks/task/externalid/) { get; set; } | 获取或设置 ExternalId 的值。 |
| [ExternalTaskProject](../../aspose.tasks/task/externaltaskproject/) { get; set; } | 获取或设置 ExternalTaskProject 的值。 |
| [ExternalUid](../../aspose.tasks/task/externaluid/) { get; set; } | 当任务为外部时，获取或设置外部任务的唯一标识符。 |
| [Finish](../../aspose.tasks/task/finish/) { get; set; } | 获取或设置 Finish 的值。 |
| [FinishSlack](../../aspose.tasks/task/finishslack/) { get; set; } | 获取或设置 FinishSlack 的值。 |
| [FinishText](../../aspose.tasks/task/finishtext/) { get; set; } | 获取或设置 FinishText 的值。 |
| [FinishVariance](../../aspose.tasks/task/finishvariance/) { get; set; } | 获取或设置 FinishVariance 的值。 |
| [FixedCost](../../aspose.tasks/task/fixedcost/) { get; set; } | 获取或设置 FixedCost 的值。 |
| [FixedCostAccrual](../../aspose.tasks/task/fixedcostaccrual/) { get; set; } | 获取或设置 FixedCostAccrual 的值。 |
| [FreeSlack](../../aspose.tasks/task/freeslack/) { get; set; } | 获取或设置 FreeSlack 的值。 |
| [Guid](../../aspose.tasks/task/guid/) { get; set; } | 获取或设置 Guid 的值。 |
| [HideBar](../../aspose.tasks/task/hidebar/) { get; set; } | 获取或设置一个值，指示是否设置 HideBar。 |
| [Hyperlink](../../aspose.tasks/task/hyperlink/) { get; set; } | 获取或设置超链接的值。 |
| [HyperlinkAddress](../../aspose.tasks/task/hyperlinkaddress/) { get; set; } | 获取或设置 HyperlinkAddress 的值。 |
| [HyperlinkSubAddress](../../aspose.tasks/task/hyperlinksubaddress/) { get; set; } | 获取或设置 HyperlinkSubAddress 的值。 |
| [Id](../../aspose.tasks/task/id/) { get; set; } | 获取或设置 Id 的值。 |
| [IgnoreResourceCalendar](../../aspose.tasks/task/ignoreresourcecalendar/) { get; set; } | 获取或设置一个值，指示是否设置了 IgnoreResourceCalendar。 |
| [IgnoreWarnings](../../aspose.tasks/task/ignorewarnings/) { get; set; } | 获取或设置一个值，指示是否设置了 IgnoreWarnings。 |
| [IsActive](../../aspose.tasks/task/isactive/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsActive。 |
| [IsCritical](../../aspose.tasks/task/iscritical/) { get; set; } | 获取或设置一个值，指示是否设置了 IsCritical。 |
| [IsEffortDriven](../../aspose.tasks/task/iseffortdriven/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsEffortDriven。 |
| [IsEstimated](../../aspose.tasks/task/isestimated/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsEstimated。 |
| [IsExpanded](../../aspose.tasks/task/isexpanded/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsExpanded。 |
| [IsExternalTask](../../aspose.tasks/task/isexternaltask/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsExternalTask。 |
| [IsManual](../../aspose.tasks/task/ismanual/) { get; set; } | 获取或设置一个值，指示是否设置了 IsManual。 |
| [IsMarked](../../aspose.tasks/task/ismarked/) { get; set; } | 获取或设置一个值，指示是否设置了 IsMarked。 |
| [IsMilestone](../../aspose.tasks/task/ismilestone/) { get; set; } | 获取或设置一个值，指示是否设置了 IsMilestone。 |
| [IsNull](../../aspose.tasks/task/isnull/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsNull。 |
| [IsOverallocated](../../aspose.tasks/task/isoverallocated/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsOverallocated。 |
| [IsPublished](../../aspose.tasks/task/ispublished/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsPublished。 |
| [IsRecurring](../../aspose.tasks/task/isrecurring/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsRecurring。 |
| [IsResumeValid](../../aspose.tasks/task/isresumevalid/) { get; set; } | 获取或设置一个值，指示是否设置了 IsResumeValid。 |
| [IsRollup](../../aspose.tasks/task/isrollup/) { get; set; } | 获取或设置一个值，指示是否设置了 IsRollup。 |
| [IsSubproject](../../aspose.tasks/task/issubproject/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsSubproject。 |
| [IsSubprojectReadOnly](../../aspose.tasks/task/issubprojectreadonly/) { get; set; } | 获取或设置一个值，该值指示是否设置了 IsSubprojectReadOnly。 |
| [IsSummary](../../aspose.tasks/task/issummary/) { get; set; } | 获取或设置一个值，指示是否设置了 IsSummary。 |
| [LateFinish](../../aspose.tasks/task/latefinish/) { get; set; } | 获取或设置 LateFinish 的值。 |
| [LateStart](../../aspose.tasks/task/latestart/) { get; set; } | 获取或设置 LateStart 的值。 |
| [LevelAssignments](../../aspose.tasks/task/levelassignments/) { get; set; } | 获取或设置一个值，指示是否设置了 LevelAssignments。 |
| [LevelingCanSplit](../../aspose.tasks/task/levelingcansplit/) { get; set; } | 获取或设置一个值，该值指示是否设置了 LevelingCanSplit。 |
| [LevelingDelay](../../aspose.tasks/task/levelingdelay/) { get; set; } | 获取或设置 LevelingDelay 的值。 |
| [LevelingDelayFormat](../../aspose.tasks/task/levelingdelayformat/) { get; set; } | 获取或设置 LevelingDelayFormat 的值。 |
| [ManualDuration](../../aspose.tasks/task/manualduration/) { get; set; } | 获取或设置 ManualDuration 的值。 |
| [ManualFinish](../../aspose.tasks/task/manualfinish/) { get; set; } | 获取或设置 ManualFinish 的值。 |
| [ManualStart](../../aspose.tasks/task/manualstart/) { get; set; } | 获取或设置 ManualStart 的值。 |
| [Name](../../aspose.tasks/task/name/) { get; set; } | 获取或设置 Name. 的值 |
| [NotesRTF](../../aspose.tasks/task/notesrtf/) { get; set; } | 获取或设置 NotesRTF 的值。 |
| [NotesText](../../aspose.tasks/task/notestext/) { get; set; } | 获取或设置 NotesText 的值。 |
| [OutlineCodes](../../aspose.tasks/task/outlinecodes/) { get; set; } | 获取或设置[`OutlineCodeCollection`](../outlinecodecollection/)对象. |
| [OutlineLevel](../../aspose.tasks/task/outlinelevel/) { get; set; } | 获取或设置 OutlineLevel 的值。 |
| [OutlineNumber](../../aspose.tasks/task/outlinenumber/) { get; set; } | 获取或设置 OutlineNumber 的值。 |
| [OvertimeCost](../../aspose.tasks/task/overtimecost/) { get; set; } | 获取或设置 OvertimeCost 的值。 |
| [OvertimeWork](../../aspose.tasks/task/overtimework/) { get; set; } | 获取或设置 OvertimeWork 的值。 |
| [ParentProject](../../aspose.tasks/task/parentproject/) { get; } | 获取任务的父项目。 |
| [ParentTask](../../aspose.tasks/task/parenttask/) { get; } | 获取任务的父任务。 |
| [PercentComplete](../../aspose.tasks/task/percentcomplete/) { get; set; } | 获取或设置 PercentComplete 的值。 |
| [PercentWorkComplete](../../aspose.tasks/task/percentworkcomplete/) { get; set; } | 获取或设置 PercentWorkComplete 的值。 |
| [PhysicalPercentComplete](../../aspose.tasks/task/physicalpercentcomplete/) { get; set; } | 获取或设置 PhysicalPercentComplete 的值。 |
| [Predecessors](../../aspose.tasks/task/predecessors/) { get; } | 得到一个[`TaskCollection`](../taskcollection/)包含此任务对象的所有前任对象的对象。 |
| [PreleveledFinish](../../aspose.tasks/task/preleveledfinish/) { get; set; } | 获取或设置 PreleveledFinish 的值。 |
| [PreleveledStart](../../aspose.tasks/task/preleveledstart/) { get; set; } | 获取或设置 PreleveledStart 的值。 |
| [PrimaveraProperties](../../aspose.tasks/task/primaveraproperties/) { get; } | 获取包含 Primavera 特定属性的对象，用于从 Primavera 格式读取的任务。 |
| [Priority](../../aspose.tasks/task/priority/) { get; set; } | 获取或设置优先级的值。 |
| [RecurringInfo](../../aspose.tasks/task/recurringinfo/) { get; } | 获取实例[`RecurringTaskInfo`](../recurringtaskinfo/)任务的类别，这是一项重复性任务；如果任务不是重复任务则返回 null; 实例的信息[`RecurringTaskInfo`](../recurringtaskinfo/)仅以 mpp 文件格式存在。 |
| [RegularWork](../../aspose.tasks/task/regularwork/) { get; set; } | 获取或设置 RegularWork 的值。 |
| [RemainingCost](../../aspose.tasks/task/remainingcost/) { get; set; } | 获取或设置 RemainingCost 的值。 |
| [RemainingDuration](../../aspose.tasks/task/remainingduration/) { get; set; } | 获取或设置 RemainingDuration 的值。 |
| [RemainingOvertimeCost](../../aspose.tasks/task/remainingovertimecost/) { get; set; } | 获取或设置 RemainingOvertimeCost 的值。 |
| [RemainingOvertimeWork](../../aspose.tasks/task/remainingovertimework/) { get; set; } | 获取或设置 RemainingOvertimeWork 的值。 |
| [RemainingWork](../../aspose.tasks/task/remainingwork/) { get; set; } | 获取或设置 RemainingWork 的值。 |
| [Resume](../../aspose.tasks/task/resume/) { get; set; } | 获取或设置 Resume 的值。 |
| [SplitParts](../../aspose.tasks/task/splitparts/) { get; } | 获取表示任务部分的 SplitPart 集合。 |
| [Start](../../aspose.tasks/task/start/) { get; set; } | 获取或设置 Start. 的值 |
| [StartSlack](../../aspose.tasks/task/startslack/) { get; set; } | 获取或设置 StartSlack 的值。 |
| [StartText](../../aspose.tasks/task/starttext/) { get; set; } | 获取或设置 StartText 的值。 |
| [StartVariance](../../aspose.tasks/task/startvariance/) { get; set; } | 获取或设置 StartVariance 的值。 |
| [StatusManager](../../aspose.tasks/task/statusmanager/) { get; set; } | 获取或设置 StatusManager 的值。 |
| [Stop](../../aspose.tasks/task/stop/) { get; set; } | 获取或设置 Stop 的值。 |
| [SubprojectName](../../aspose.tasks/task/subprojectname/) { get; set; } | 获取或设置 SubprojectName 的值。 |
| [Successors](../../aspose.tasks/task/successors/) { get; } | 得到一个[`TaskCollection`](../taskcollection/)包含此任务对象的所有后继对象的对象。 |
| [SV](../../aspose.tasks/task/sv/) { get; set; } | 挣值进度差异，通过项目状态日期。 进度差异 (SV) 是 BCWP 和 BCWS 之间的差异。 |
| [TimephasedData](../../aspose.tasks/task/timephaseddata/) { get; set; } | 获取或设置此任务的 TimephasedDataCollection 对象。 与任务关联的时间分段数据块。 |
| [TotalSlack](../../aspose.tasks/task/totalslack/) { get; set; } | 获取或设置 TotalSlack 的值。 |
| [Type](../../aspose.tasks/task/type/) { get; set; } | 获取或设置 Type 的值。 |
| [Uid](../../aspose.tasks/task/uid/) { get; set; } | 获取或设置 Uid 的值。 |
| [Warning](../../aspose.tasks/task/warning/) { get; set; } | 获取或设置一个值，指示是否设置警告。 |
| [WBS](../../aspose.tasks/task/wbs/) { get; set; } | 获取或设置 WBS 的值。 |
| [WBSLevel](../../aspose.tasks/task/wbslevel/) { get; set; } | 获取或设置 WBSLevel 的值。 |
| [Work](../../aspose.tasks/task/work/) { get; set; } | 获取或设置 Work 的值。 |
| [WorkVariance](../../aspose.tasks/task/workvariance/) { get; set; } | 获取或设置 WorkVariance 的值。 |

## 方法

| 姓名 | 描述 |
| --- | --- |
| [Clone](../../aspose.tasks/task/clone/)() | 创建没有子任务的任务的完整副本。 |
| [Delete](../../aspose.tasks/task/delete/)() | 从父项目任务集合中删除任务及其所有分配。 |
| override [Equals](../../aspose.tasks/task/equals/#equals_1)(object) | 返回一个值，指示此实例是否等于指定对象。 |
| [Equals](../../aspose.tasks/task/equals/#equals)(Task) | 返回一个值，指示此实例是否等于指定任务。 |
| [Get&lt;T&gt;](../../aspose.tasks/task/get/)(Key&lt;T, TaskKey&gt;) | 返回此容器中属性映射到的值。 |
| override [GetHashCode](../../aspose.tasks/task/gethashcode/)() | 返回此任务的哈希码值。 |
| [GetTimephasedData](../../aspose.tasks/task/gettimephaseddata/#gettimephaseddata)(DateTime, DateTime) | 返回[`TimephasedDataCollection`](../timephaseddatacollection/)对象与[`TimephasedData`](./timephaseddata/)给定开始和结束日期内的值. |
| [GetTimephasedData](../../aspose.tasks/task/gettimephaseddata/#gettimephaseddata_1)(DateTime, DateTime, TimephasedDataType) | 返回[`TimephasedDataCollection`](../timephaseddatacollection/)对象与[`TimephasedData`](./timephaseddata/)指定时间分段数据类型的给定开始日期和结束日期内的值。 |
| [MoveToSibling](../../aspose.tasks/task/movetosibling/#movetosibling_1)(int) | 将当前任务移动到具有指定 Id 的任务之前的相同大纲级别。 如果 ParentProject.CalculationMode 为 None，用户应在使用此方法后调用 Project.Recalculate()（它将重新安排所有项目任务（开始/结束日期，设置早/晚日期）并计算相关字段，例如 slacks、工作和成本字段、大纲级别）。 如果 ParentProject.CalculationMode 为手动，则该方法将仅自动计算任务 ID、大纲级别和大纲编号。 如果 ParentProject. CalculationMode 是 Automatic 该方法自动重新安排所有项目的任务 （开始/结束日期、设置早/晚日期、计算 slacks、工作和成本字段、重新计算 ID 和大纲级别）。 |
| [MoveToSibling](../../aspose.tasks/task/movetosibling/#movetosibling)(Task) | 将当前任务移动到指定任务之前的同一大纲级别。 如果 ParentProject.CalculationMode 为 None，用户应在使用此方法后调用 Project.Recalculate()（它将重新安排所有项目任务（开始/完成日期，设置早/迟到日期）并计算相关字段，如工作时间、工作和成本字段、大纲级别）。 如果 ParentProject.CalculationMode 是手动的，该方法将仅自动计算任务 ID、大纲级别和大纲编号。 如果 ParentProject.CalculationMode 是自动的该方法自动重新安排所有项目的任务 （开始/结束日期、设置早/晚日期、计算松弛时间、工作和成本字段、重新计算 ID 和大纲级别）。 |
| [OutlineIndent](../../aspose.tasks/task/outlineindent/)() | 缩进大纲中的任务。 |
| [OutlineOutdent](../../aspose.tasks/task/outlineoutdent/)() | 提升大纲中的任务。 |
| [SelectAllChildTasks](../../aspose.tasks/task/selectallchildtasks/)() | 递归收集此任务的所有子任务。 |
| [Set&lt;T&gt;](../../aspose.tasks/task/set/)(Key&lt;T, TaskKey&gt;, T) | 将指定属性映射到此容器中的指定值。 |
| override [ToString](../../aspose.tasks/task/tostring/)() | 返回任务的短字符串表示。 表示的确切细节未指定，可能会更改。 |

### 评论

这 **任务**代表工作的一个原子卡盘。

可以使用 **任务**通过创建任务并为其分配适当的资源来规划项目。 项目中的任务被组织为有根的分层树结构，具有根任务和子任务的子树。

要构建任务树，可以使用专门的集合[`TaskCollection`](../taskcollection/)通过访问[`RootTask`](../project/roottask/)财产例如：

```csharp
Project project = new Project();

// 添加新任务
Task task1 = project.RootTask.Children.Add(); // 添加一个空名称的父任务
Task childTask1 = task1.Children.Add("Child 1");
childTask1.Set(Tsk.Start, new DateTime(2020, 2, 12, 8, 0, 0))
childTask1.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask1.Set(Tsk.Finish, new DateTime(2020, 2, 12, 17, 0, 0));
Task childTask3 = task1.Children.Add("Child 3");
childTask3.Set(Tsk.Start, new DateTime(2020, 2, 13, 8, 0, 0))
childTask3.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask3.Set(Tsk.Finish, new DateTime(2020, 2, 13, 17, 0, 0));
Task childTask2 = task1.Children.Add("Child 2", 2); // 在 childTask3 之前插入一个任务
childTask2.Set(Tsk.Start, new DateTime(2020, 2, 14, 8, 0, 0))
childTask2.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask2.Set(Tsk.Finish, new DateTime(2020, 2, 14, 17, 0, 0));

// 以可用格式之一保存项目
project.Save("Filled project.xml", SaveFileFormat.MPP);
```

### 也可以看看

* 命名空间 [Aspose.Tasks](../../aspose.tasks/)
* 部件 [Aspose.Tasks](../../)


