TaskLinkCollection Class

Represents a collection of Task objects.
Inheritance Hierarchy
SystemObject
  Aspose.TasksTaskLinkCollection

Namespace:  Aspose.Tasks
Assembly:  Aspose.Tasks (in Aspose.Tasks.dll) Version: 21.10
Syntax
public class TaskLinkCollection : IList<TaskLink>, 
	ICollection<TaskLink>, IEnumerable<TaskLink>, IEnumerable

The TaskLinkCollection type exposes the following members.

Properties
  NameDescription
Public propertyCode exampleCount
Gets the number of objects contained in this TaskLinkCollection object.
Public propertyCode exampleItem
Returns or sets the element at the specified index.
Public propertyCode exampleParentProject
Gets the parent project of the ResourceAssignmentCollection object.

Return Value

Type: 
parent Project for this object.
Methods
  NameDescription
Public methodAdd(TaskLink)
This is the stub implementation of ICollection's Add method, that only throws NotSupportedException
Public methodCode exampleAdd(Task, Task)
Returns an instance of Finish-Start TaskLink which has been added to the TaskLinkCollection object.
Public methodCode exampleAdd(Task, Task, TaskLinkType)
Returns an instance of TaskLink which has been added to the TaskLinkCollection object.
Public methodCode exampleAdd(Task, Task, TaskLinkType, Duration)
Returns an instance of TaskLink which has been added to the TaskLinkCollection object.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodCode exampleGetEnumerator
Returns an enumerator for this collection.
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodCode exampleRemove
Removes task link from a project.
Public methodCode exampleToList
Converts the TaskLinkCollection object to a list of TaskLink objects.
Public methodToString (Inherited from Object.)
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