Class TaskLinkCollection
Contents
[
Hide
]TaskLinkCollection class
Represents a collection of Task
objects.
public class TaskLinkCollection : IList<TaskLink>
Properties
Name | Description |
---|---|
Count { get; } | Gets the number of objects contained in this TaskLinkCollection object. |
Item { get; set; } | Returns or sets the element at the specified index. |
ParentProject { get; } | Gets the parent project of the ResourceAssignmentCollection object. parent Project for this object. |
Methods
Name | Description |
---|---|
Add(TaskLink) | This is the stub implementation of ICollection’s Add method, that only throws NotSupportedException |
Add(Task, Task) | Returns an instance of Finish-Start TaskLink which has been added to the TaskLinkCollection object. |
Add(Task, Task, TaskLinkType) | Returns an instance of TaskLink which has been added to the TaskLinkCollection object. |
Add(Task, Task, TaskLinkType, Duration) | Returns an instance of TaskLink which has been added to the TaskLinkCollection object. |
GetEnumerator() | Returns an enumerator for this collection. |
Remove(TaskLink) | Removes task link from a project. |
ToList() | Converts the TaskLinkCollection object to a list of TaskLink objects. |
Examples
Shows how to work with task link collections.
var project = new Project(DataDir + "SampleProject.mpp");
// get tasks
var task1 = project.RootTask.Children.GetById(1);
var task2 = project.RootTask.Children.GetById(2);
var task3 = project.RootTask.Children.GetById(3);
var task4 = project.RootTask.Children.GetById(4);
var task5 = project.RootTask.Children.GetById(5);
// link the tasks
project.TaskLinks.Add(task1, task2);
project.TaskLinks.Add(task2, task3, TaskLinkType.FinishToStart);
project.TaskLinks.Add(task3, task4, TaskLinkType.FinishToStart);
project.TaskLinks.Add(task4, task5, TaskLinkType.FinishToStart, project.GetDuration(1, TimeUnitType.Day));
project.TaskLinks.Add(task2, task5, TaskLinkType.FinishToStart, project.GetDuration(2, TimeUnitType.Day));
// print links among the tasks
Console.WriteLine("Print task links of " + project.TaskLinks.ParentProject.Get(Prj.Name) + " project.");
Console.WriteLine("Task links count: " + project.TaskLinks.Count);
foreach (var link in project.TaskLinks)
{
Console.WriteLine("From ID = " + link.PredTask.Get(Tsk.Id) + " => To ID = " + link.SuccTask.Get(Tsk.Id));
Console.WriteLine();
}
// edit link by index access
project.TaskLinks[0].LagFormat = TimeUnitType.Hour;
// remove all task links
List<TaskLink> taskLinks = project.TaskLinks.ToList();
foreach (var link in taskLinks)
{
project.TaskLinks.Remove(link);
}
See Also
- class TaskLink
- namespace Aspose.Tasks
- assembly Aspose.Tasks