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: 21.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
  NameDescription
Public methodCode exampleAdd(T)
Creates a new custom property.
(Inherited from PropertyKeyedCollectionT.)
Public methodCode exampleAdd(String, Boolean)
Creates a new custom property.
Public methodCode exampleAdd(String, DateTime)
Creates a new custom property.
Public methodCode exampleAdd(String, Double)
Creates a new custom property.
Public methodCode exampleAdd(String, String)
Creates a new custom property.
Public methodCode exampleClear
Clears the PropertyCollection.
Public methodCode exampleContains (Inherited from PropertyKeyedCollectionT.)
Public methodEquals (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Public methodCode exampleRemove
Removes a property with the specified name from the collection.
Public methodToString (Inherited from Object.)
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