OutlineCodeDefinitionCollection

OutlineCodeDefinitionCollection class

Represents a collection of OutlineCodeDefinition objects.

public class OutlineCodeDefinitionCollection : IList<OutlineCodeDefinition>

Properties

Name Description
Count { get; } Gets the number of elements contained in this collection.
IsReadOnly { get; } Gets a value indicating whether this collection is read-only; otherwise, false.
Item { get; set; } Returns or sets the element at the specified index.

Methods

Name Description
Add(OutlineCodeDefinition) Adds the specified item to this collection.
Clear() Removes all items from this collection.
Contains(OutlineCodeDefinition) Returns true if the specified item is found in this collection; otherwise, false.
CopyTo(OutlineCodeDefinition[], int) Copies the elements of this collection to the specified array, starting at the specified array index.
GetEnumerator() Returns an enumerator for this collection.
IndexOf(OutlineCodeDefinition) Determines the index of the specified item in this collection.
Insert(int, OutlineCodeDefinition) Inserts the specified item at the specified index.
Remove(OutlineCodeDefinition) Removes the first occurrence of a specific object from this collection.
RemoveAt(int) Removes an item at the specified index.
ToList() Converts this OutlineCodeDefinitionCollection object to a list of OutlineCodeDefinition objects.

Examples

Shows how to work with outline code definition collections.

var project = new Project(DataDir + "OutlineCodes.mpp");

Console.WriteLine("Count of outline code definitions: " + project.OutlineCodes.Count);
foreach (var outlineCode in project.OutlineCodes)
{
    Console.WriteLine("Field Name: " + outlineCode.FieldName);
    Console.WriteLine("Alias: " + outlineCode.Alias);
    Console.WriteLine();
}

// add a custom outline code definition
var outlineCodeDefinition = new OutlineCodeDefinition { FieldId = ((int)ExtendedAttributeTask.OutlineCode3).ToString("D"), Alias = "My Outline Code" };

var outlineCodeDefinition2 = new OutlineCodeDefinition { FieldId = ((int)ExtendedAttributeTask.OutlineCode1).ToString("D"), Alias = "My Outline Code 2" };

if (!project.OutlineCodes.IsReadOnly)
{
    project.OutlineCodes.Add(outlineCodeDefinition);

    // insert outline code definition in position
    project.OutlineCodes.Insert(0, outlineCodeDefinition2);
}

// find the index of the outline code definition
var index = project.OutlineCodes.IndexOf(outlineCodeDefinition);

// edit the outline code definition
project.OutlineCodes[index].Alias = "New Alias";

// ...
// work with outline code definitions
// ...

// remove the outline code definition
if (project.OutlineCodes.Contains(outlineCodeDefinition))
{
    project.OutlineCodes.Remove(outlineCodeDefinition);
}

// remove an outline code definition by index
project.OutlineCodes.RemoveAt(0);

var otherProject = new Project(DataDir + "Blank2010.mpp");

// remove outline code definitions
otherProject.OutlineCodes.Clear();

// copy outline code definitions
var outlineCodeDefinitions = new OutlineCodeDefinition[project.OutlineCodes.Count];
project.OutlineCodes.CopyTo(outlineCodeDefinitions, 0);

foreach (var definition in outlineCodeDefinitions)
{
    otherProject.OutlineCodes.Add(definition);
}

// ...
// work with outline code definitions
// ...

// remove outline code definitions one by one
List<OutlineCodeDefinition> definitions = otherProject.OutlineCodes.ToList();
foreach (var definition in definitions)
{
    otherProject.OutlineCodes.Remove(definition);
}

See Also