ExtendedAttribute Class

Represents extended attributes.
Inheritance Hierarchy
SystemObject
  Aspose.TasksExtendedAttribute

Namespace:  Aspose.Tasks
Assembly:  Aspose.Tasks (in Aspose.Tasks.dll) Version: 21.10
Syntax
public class ExtendedAttribute

The ExtendedAttribute type exposes the following members.

Properties
  NameDescription
Public propertyCode exampleAttributeDefinition
Gets the attribute definition.
Public propertyCode exampleDateValue
Gets or sets a value for attributes with date types (Date, Start, Finish).
Public propertyCode exampleDurationValue
Gets or sets value for attributes with 'Duration' type.
Public propertyCode exampleFieldId
Gets the id of a field.
Public propertyCode exampleFlagValue
Gets or sets a value indicating whether a flag is set for an attribute with 'Flag' type.
Public propertyCode exampleIsErrorValue
Gets whether calculation of extended attribute's value resulted in an error.
Public propertyCode exampleNumericValue
Gets or sets a value for attributes with numeric types (Cost, Number).
Public propertyCode exampleTextValue
Gets or sets a value for attributes with 'Text' type.
Public propertyCode exampleValueGuid
Gets the guid of a lookup value.
Public propertyCode exampleValueReadOnly
Gets a value indicating whether a value of this ExtendedAttribute instance is read-only.

Field Value

Type: 
returns true if a formula or rollup is defined in the ExtendedAttributeDefinition for this object.
Methods
  NameDescription
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodCode exampleToString
Returns short string representation of an extended attribute.
(Overrides ObjectToString.)
Remarks
Currently supported all types of Extended attributes reading from MSP Xml 2003/2007 and mpp 2003. For MSP mpp 2007 all Extended attributes reading supported except durations and flags.
Examples
Shows how to add custom field which value is calculated using formula specified by the user.
var project = new Project();

// create new task extended attribute definition
var attribute = ExtendedAttributeDefinition.CreateTaskDefinition(CustomFieldType.Cost, ExtendedAttributeTask.Cost1, "Cost ratio");

// Add a formula to the attribute.
attribute.Formula = "[Cost] / [Actual Cost]";

project.ExtendedAttributes.Add(attribute);

var task = project.RootTask.Children.Add("Task");

// Create extended attribute
var extendedAttribute = attribute.CreateExtendedAttribute();
task.ExtendedAttributes.Add(extendedAttribute);

// We set the Formula for the extended attribute, so it is read only (the value is calculated using formula).
// Output is "Value is read only"
Console.WriteLine(extendedAttribute.ValueReadOnly ? "Value is read only" : "Value is not read only");

// You can try to set value of read only field, but it will not have effect.
extendedAttribute.NumericValue = -1000000M;

Console.WriteLine("Cost is {0}, Actual Cost is {1}, Custom attribute's value is {2}",
    task.Get(Tsk.Cost),
    task.Get(Tsk.ActualCost),
    extendedAttribute.IsErrorValue ? "#Error" : extendedAttribute.NumericValue.ToString());

task.Set(Tsk.Cost, 100m);
task.Set(Tsk.ActualCost, 120m);

Console.WriteLine("Cost is {0}, Actual Cost is {1}, Custom attribute's value is {2}",
    task.Get(Tsk.Cost), 
    task.Get(Tsk.ActualCost),
    extendedAttribute.IsErrorValue ? "#Error" : extendedAttribute.NumericValue.ToString());
See Also