CustomProjectPropertyCollection Class

Represents a collection of custom project properties.
Inheritance Hierarchy
SystemObject
  Aspose.Tasks.PropertiesPropertyCollectionCustomProjectProperty
    Aspose.Tasks.PropertiesPropertyKeyedCollectionCustomProjectProperty
      Aspose.Tasks.PropertiesCustomProjectPropertyCollection

Namespace:  Aspose.Tasks.Properties
Assembly:  Aspose.Tasks (in Aspose.Tasks.dll) Version: 20.10
Syntax
public sealed class CustomProjectPropertyCollection : PropertyKeyedCollection<CustomProjectProperty>

The CustomProjectPropertyCollection type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleCustomProjectPropertyCollection
Initializes a new instance of the CustomProjectPropertyCollection class.
Properties
Methods
Examples
Shows how to work with custom project property collections.
var project = new Project(DataDir + "ReadProjectInfo.mpp");

Console.WriteLine("Is custom properties collection read-only?: " + project.CustomProps.IsReadOnly);

// lets add new custom properties
// collection support Boolean, DateTime, Double, String types
project.CustomProps.Add("IsEnterprise", true);
project.CustomProps.Add("Project Start Date", new DateTime(2020, 4, 16, 8, 0, 0));
project.CustomProps.Add("Precision", 10d);
project.CustomProps.Add("Custom Name", "MyProject");

// custom properties are available through the typed collection
Console.WriteLine("Count of custom properties: " + project.CustomProps.Count);
foreach (var property in project.CustomProps)
{
    Console.WriteLine(property.Type);
    Console.WriteLine(property.Name);
    Console.WriteLine(property.Value);
    Console.WriteLine();
}

// get a custom property value
Console.WriteLine("Custom Name: " + project.CustomProps["Custom Name"]);

// iterate over names of custom properties
foreach (var propsName in project.CustomProps.Names)
{
    Console.WriteLine("Name: " + propsName);
    Console.WriteLine();
}

// one can delete a value by string key
if (project.CustomProps.Contains("Custom Name"))
{
    project.CustomProps.Remove("Custom Name");
}

// or one can clear collection completely
project.CustomProps.Clear();
See Also