Class ExtendedAttributeDefinitionCollection
Contents
[
Hide
]ExtendedAttributeDefinitionCollection class
Represents a collection of ExtendedAttributeDefinition
objects.
public class ExtendedAttributeDefinitionCollection : IList<ExtendedAttributeDefinition>
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. |
Item { get; set; } | Returns or sets the element at the specified index. |
ParentProject { get; } | Gets a parent project for the ExtendedAttributeDefinitionCollection instance. returns a parent project for this collection. |
Methods
Name | Description |
---|---|
Add(ExtendedAttributeDefinition) | Adds the specified item to this collection. |
Clear() | Removes all items from this collection. |
Contains(ExtendedAttributeDefinition) | Returns true if the specified item is found in this collection; otherwise, false. |
CopyTo(ExtendedAttributeDefinition[], int) | Copies the elements of this collection to the specified array, starting at the specified array index. |
GetById(int) | Returns an extended attribute definition by id |
GetEnumerator() | Returns an enumerator for this collection. |
IndexOf(ExtendedAttributeDefinition) | Determines the index of the specified item in this collection. |
Insert(int, ExtendedAttributeDefinition) | Inserts the specified item at the specified index. |
Remove(ExtendedAttributeDefinition) | Removes the first occurrence of a specific object from this collection. |
RemoveAt(int) | Removes an item at the specified index. |
ToList() | Converts this ExtendedAttributeDefinitionCollection object to a list containing instances of the ExtendedAttributeDefinition class. |
Examples
Shows how to use extended attribute definition collections.
var project = new Project(DataDir + "ReadTaskExtendedAttributes.mpp");
if (!project.ExtendedAttributes.IsReadOnly)
{
if (project.ExtendedAttributes.Count > 0)
{
// clear extended attribute definitions
project.ExtendedAttributes.Clear();
}
}
// create extended attribute definition for a task
var taskDefinition = ExtendedAttributeDefinition.CreateTaskDefinition(CustomFieldType.Start, ExtendedAttributeTask.Start7, "Start 7");
project.ExtendedAttributes.Add(taskDefinition);
Console.WriteLine("Iterate over extended attributes of " + project.ExtendedAttributes.ParentProject.Get(Prj.Name) + " project: ");
foreach (var attribute in project.ExtendedAttributes)
{
Console.WriteLine("Attribute Alias: " + attribute.Alias);
Console.WriteLine("Attribute CfType: " + attribute.CfType);
Console.WriteLine();
}
Console.WriteLine();
// work with extended attribute definitions...
var resourceDefinition = ExtendedAttributeDefinition.CreateResourceDefinition(CustomFieldType.Cost, ExtendedAttributeResource.Cost5, "My cost");
if (!project.ExtendedAttributes.Contains(resourceDefinition))
{
project.ExtendedAttributes.Add(resourceDefinition);
}
// work with extended attribute definitions...
var resourceDefinition2 = ExtendedAttributeDefinition.CreateResourceDefinition(CustomFieldType.Number, ExtendedAttributeResource.Cost1, "My Cost 2");
if (project.ExtendedAttributes.IndexOf(resourceDefinition2) < 0)
{
project.ExtendedAttributes.Insert(0, resourceDefinition2);
}
// work with extended attribute definitions...
// remove extended attribute by index
project.ExtendedAttributes.RemoveAt(0);
Console.WriteLine("Print project's extended attributes: ");
Console.WriteLine("Count of project's extended attribute definitions: " + project.ExtendedAttributes.Count);
// use collection index access
Console.WriteLine("Attribute 1 Alias: " + project.ExtendedAttributes[0].Alias);
Console.WriteLine("Attribute 1 CfType: " + project.ExtendedAttributes[0].CfType);
Console.WriteLine("Attribute 2 Alias: " + project.ExtendedAttributes[1].Alias);
Console.WriteLine("Attribute 2 CfType: " + project.ExtendedAttributes[1].CfType);
var otherProject = new Project();
// copy attributes to other project
var attributes = new ExtendedAttributeDefinition[project.ExtendedAttributes.Count];
project.ExtendedAttributes.CopyTo(attributes, 0);
foreach (var attribute in attributes)
{
otherProject.ExtendedAttributes.Add(attribute);
}
Console.WriteLine();
Console.WriteLine("Iterate over other project's extended attributes: ");
foreach (var attribute in otherProject.ExtendedAttributes)
{
Console.WriteLine("Attribute Alias: " + attribute.Alias);
Console.WriteLine("Attribute CfType: " + attribute.CfType);
Console.WriteLine();
}
// remove all extended attribute definitions
List<ExtendedAttributeDefinition> definitions = project.ExtendedAttributes.ToList();
foreach (var definition in definitions)
{
project.ExtendedAttributes.Remove(definition);
}
See Also
- class ExtendedAttributeDefinition
- namespace Aspose.Tasks
- assembly Aspose.Tasks