GenericPropertyTKey Structure

Represents a container property.

Namespace:  Aspose.Tasks.Properties
Assembly:  Aspose.Tasks (in Aspose.Tasks.dll) Version: 20.10
Syntax
public struct GenericProperty<TKey>
where TKey : struct, new()

Type Parameters

TKey
The type of property value.

The GenericPropertyTKey type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleGenericPropertyTKey
Initializes a new instance of the GenericPropertyTKey struct.
Properties
  NameDescription
Public propertyCode exampleName
Gets a name of the property.
Public propertyCode exampleValue
Gets a value of the property.
Methods
  NameDescription
Public methodEquals (Inherited from ValueType.)
Public methodGetHashCode (Inherited from ValueType.)
Public methodGetType (Inherited from Object.)
Public methodToString (Inherited from ValueType.)
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