Class Task

Task class

代表项目中的任务。

public class Task : IEquatable<Task>

特性

姓名描述
ActivityId { get; set; }表示活动 ID 字段 - Primavera 使用的任务的唯一标识符。 (仅适用于 Primavera 项目).
ActualCost { get; set; }获取或设置 ActualCost 的值。
ActualDuration { get; set; }获取或设置 ActualDuration 的值。
ActualFinish { get; set; }获取或设置 ActualFinish 的值。
ActualOvertimeCost { get; set; }获取或设置 ActualOvertimeCost 的值。
ActualOvertimeWork { get; set; }获取或设置 ActualOvertimeWork 的值。
ActualOvertimeWorkProtected { get; set; }获取或设置 ActualOvertimeWorkProtected 的值。
ActualStart { get; set; }获取或设置 ActualStart. 的值
ActualWork { get; set; }获取或设置 ActualWork 的值。
ActualWorkProtected { get; set; }获取或设置 ActualWorkProtected 的值。
ACWP { get; set; }获取或设置 ACWP 的值。
Assignments { get; }获取此对象的资源分配集合。
Baselines { get; set; }获取或设置任务的基线值集合。
BCWP { get; set; }获取或设置 BCWP 的值。
BCWS { get; set; }获取或设置 BCWS 的值。
BudgetCost { get; set; }获取或设置 BudgetCost 的值。
BudgetWork { get; set; }获取或设置 BudgetWork 的值。
Calendar { get; set; }获取或设置日历的值。
Children { get; }获取此对象的子任务集合。 表示子任务的 TaskCollection 对象。
CommitmentFinish { get; set; }获取或设置 CommitmentFinish 的值。
CommitmentStart { get; set; }获取或设置 CommitmentStart 的值。
CommitmentType { get; set; }获取或设置 CommitmentType 的值。
ConstraintDate { get; set; }获取或设置 ConstraintDate 的值。
ConstraintType { get; set; }获取或设置 ConstraintType 的值。
Contact { get; set; }获取或设置联系人的值。
Cost { get; set; }获取或设置 Cost. 的值
CostVariance { get; set; }获取或设置 CostVariance 的值。
Created { get; set; }获取或设置 Created 的值。
CV { get; set; }获取或设置 CV 的值。
Deadline { get; set; }获取或设置截止日期的值。
DisplayAsSummary { get; set; }获取或设置一个值,指示是否设置 DisplayAsSummary。
DisplayOnTimeline { get; set; }获取或设置一个值,指示是否设置 DisplayOnTimeline。
Duration { get; set; }获取或设置持续时间的值。
DurationFormat { get; set; }获取或设置 DurationFormat 的值。
DurationText { get; set; }获取或设置 DurationText 的值。
DurationVariance { get; set; }获取或设置 DurationVariance 的值。
EarlyFinish { get; set; }获取或设置 EarlyFinish 的值。
EarlyStart { get; set; }获取或设置 EarlyStart 的值。
EarnedValueMethod { get; set; }获取或设置 EarnedValueMethod 的值。
ExtendedAttributes { get; }获取包含扩展属性值的 ExtendedAttributeCollection 对象。
ExternalId { get; set; }获取或设置 ExternalId 的值。
ExternalTaskProject { get; set; }获取或设置 ExternalTaskProject 的值。
ExternalUid { get; set; }当任务为外部时,获取或设置外部任务的唯一标识符。
Finish { get; set; }获取或设置 Finish 的值。
FinishSlack { get; set; }获取或设置 FinishSlack 的值。
FinishText { get; set; }获取或设置 FinishText 的值。
FinishVariance { get; set; }获取或设置 FinishVariance 的值。
FixedCost { get; set; }获取或设置 FixedCost 的值。
FixedCostAccrual { get; set; }获取或设置 FixedCostAccrual 的值。
FreeSlack { get; set; }获取或设置 FreeSlack 的值。
Guid { get; set; }获取或设置 Guid 的值。
HideBar { get; set; }获取或设置一个值,指示是否设置 HideBar。
Hyperlink { get; set; }获取或设置超链接的值。
HyperlinkAddress { get; set; }获取或设置 HyperlinkAddress 的值。
HyperlinkSubAddress { get; set; }获取或设置 HyperlinkSubAddress 的值。
Id { get; set; }获取或设置 Id 的值。
IgnoreResourceCalendar { get; set; }获取或设置一个值,指示是否设置了 IgnoreResourceCalendar。
IgnoreWarnings { get; set; }获取或设置一个值,指示是否设置了 IgnoreWarnings。
IsActive { get; set; }获取或设置一个值,该值指示是否设置了 IsActive。
IsCritical { get; set; }获取或设置一个值,指示是否设置了 IsCritical。
IsEffortDriven { get; set; }获取或设置一个值,该值指示是否设置了 IsEffortDriven。
IsEstimated { get; set; }获取或设置一个值,该值指示是否设置了 IsEstimated。
IsExpanded { get; set; }获取或设置一个值,该值指示是否设置了 IsExpanded。
IsExternalTask { get; set; }获取或设置一个值,该值指示是否设置了 IsExternalTask。
IsManual { get; set; }获取或设置一个值,指示是否设置了 IsManual。
IsMarked { get; set; }获取或设置一个值,指示是否设置了 IsMarked。
IsMilestone { get; set; }获取或设置一个值,指示是否设置了 IsMilestone。
IsNull { get; set; }获取或设置一个值,该值指示是否设置了 IsNull。
IsOverallocated { get; set; }获取或设置一个值,该值指示是否设置了 IsOverallocated。
IsPublished { get; set; }获取或设置一个值,该值指示是否设置了 IsPublished。
IsRecurring { get; set; }获取或设置一个值,该值指示是否设置了 IsRecurring。
IsResumeValid { get; set; }获取或设置一个值,指示是否设置了 IsResumeValid。
IsRollup { get; set; }获取或设置一个值,指示是否设置了 IsRollup。
IsSubproject { get; set; }获取或设置一个值,该值指示是否设置了 IsSubproject。
IsSubprojectReadOnly { get; set; }获取或设置一个值,该值指示是否设置了 IsSubprojectReadOnly。
IsSummary { get; set; }获取或设置一个值,指示是否设置了 IsSummary。
LateFinish { get; set; }获取或设置 LateFinish 的值。
LateStart { get; set; }获取或设置 LateStart 的值。
LevelAssignments { get; set; }获取或设置一个值,指示是否设置了 LevelAssignments。
LevelingCanSplit { get; set; }获取或设置一个值,该值指示是否设置了 LevelingCanSplit。
LevelingDelay { get; set; }获取或设置 LevelingDelay 的值。
LevelingDelayFormat { get; set; }获取或设置 LevelingDelayFormat 的值。
ManualDuration { get; set; }获取或设置 ManualDuration 的值。
ManualFinish { get; set; }获取或设置 ManualFinish 的值。
ManualStart { get; set; }获取或设置 ManualStart 的值。
Name { get; set; }获取或设置 Name. 的值
NotesRTF { get; set; }获取或设置 NotesRTF 的值。
NotesText { get; set; }获取或设置 NotesText 的值。
OutlineCodes { get; set; }获取或设置OutlineCodeCollection对象.
OutlineLevel { get; set; }获取或设置 OutlineLevel 的值。
OutlineNumber { get; set; }获取或设置 OutlineNumber 的值。
OvertimeCost { get; set; }获取或设置 OvertimeCost 的值。
OvertimeWork { get; set; }获取或设置 OvertimeWork 的值。
ParentProject { get; }获取任务的父项目。
ParentTask { get; }获取任务的父任务。
PercentComplete { get; set; }获取或设置 PercentComplete 的值。
PercentWorkComplete { get; set; }获取或设置 PercentWorkComplete 的值。
PhysicalPercentComplete { get; set; }获取或设置 PhysicalPercentComplete 的值。
Predecessors { get; }得到一个TaskCollection包含此任务对象的所有前任对象的对象。
PreleveledFinish { get; set; }获取或设置 PreleveledFinish 的值。
PreleveledStart { get; set; }获取或设置 PreleveledStart 的值。
PrimaveraProperties { get; }获取包含 Primavera 特定属性的对象,用于从 Primavera 格式读取的任务。
Priority { get; set; }获取或设置优先级的值。
RecurringInfo { get; }获取实例RecurringTaskInfo任务的类别,这是一项重复性任务;如果任务不是重复任务则返回 null; 实例的信息RecurringTaskInfo仅以 mpp 文件格式存在。
RegularWork { get; set; }获取或设置 RegularWork 的值。
RemainingCost { get; set; }获取或设置 RemainingCost 的值。
RemainingDuration { get; set; }获取或设置 RemainingDuration 的值。
RemainingOvertimeCost { get; set; }获取或设置 RemainingOvertimeCost 的值。
RemainingOvertimeWork { get; set; }获取或设置 RemainingOvertimeWork 的值。
RemainingWork { get; set; }获取或设置 RemainingWork 的值。
Resume { get; set; }获取或设置 Resume 的值。
SplitParts { get; }获取表示任务部分的 SplitPart 集合。
Start { get; set; }获取或设置 Start. 的值
StartSlack { get; set; }获取或设置 StartSlack 的值。
StartText { get; set; }获取或设置 StartText 的值。
StartVariance { get; set; }获取或设置 StartVariance 的值。
StatusManager { get; set; }获取或设置 StatusManager 的值。
Stop { get; set; }获取或设置 Stop 的值。
SubprojectName { get; set; }获取或设置 SubprojectName 的值。
Successors { get; }得到一个TaskCollection包含此任务对象的所有后继对象的对象。
SV { get; set; }挣值进度差异,通过项目状态日期。 进度差异 (SV) 是 BCWP 和 BCWS 之间的差异。
TimephasedData { get; set; }获取或设置此任务的 TimephasedDataCollection 对象。 与任务关联的时间分段数据块。
TotalSlack { get; set; }获取或设置 TotalSlack 的值。
Type { get; set; }获取或设置 Type 的值。
Uid { get; set; }获取或设置 Uid 的值。
Warning { get; set; }获取或设置一个值,指示是否设置警告。
WBS { get; set; }获取或设置 WBS 的值。
WBSLevel { get; set; }获取或设置 WBSLevel 的值。
Work { get; set; }获取或设置 Work 的值。
WorkVariance { get; set; }获取或设置 WorkVariance 的值。

方法

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

评论

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

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

要构建任务树,可以使用专门的集合TaskCollection通过访问RootTask财产例如:

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);

也可以看看