System.Object
Eplan.EplApi.DataModel.PropertyValue
System.Object
Eplan.EplApi.DataModel.PropertyValue
[DefaultMember("Item")] public sealed class PropertyValue
[DefaultMember("Item")] public ref class PropertyValue sealed
Its object can be created and assigned to the following types:
• int
• string
• double
• bool
• DateTime
• Eplan.EplApi.Base.MultiLangString
By definition of several conversion operators from and to other types, it simplifies access to P8 properties stored inside all kinds of PropertyList classes. The user does not have to use this class explicitly, it allows to simply assign a P8 property value to a user defined variable (See example below).
The PropertyValue object can appear in 3 different states. Please take a look at the corresponding examples below.
// This will create a new transient property and assign it to the variable oTransientProperty. // If you wish to change the value of the property, use the method Eplan::EplApi::DataModel::PropertyValue::Set. PropertyValue oTransientProperty = oFunction.Properties[Properties.Function.FUNC_COMMENT]; oTransientProperty = oTransientProperty + " additional comment";
// This object is not connected with any property list or StorableObject. That is why this type of property is called "transient" (or "offline"). PropertyValue oTransientProperty = new PropertyValue(); oTransientProperty.Set("Setting a value to a transient property.");
// The object stays connected to the property list and is therefore called a "persistent" (or "online") property. // In this case, the usage of Eplan::EplApi::DataModel::PropertyValue::Set updates the values in the original locations. FunctionPropertyList oFunctionPropertyList = new FunctionPropertyList(); PropertyValue oPersistentProperty2 = oFunctionPropertyList["EPLAN.Project.UserSupplementaryField1"]; // oFunctionPropertyList["EPLAN.Project.UserSupplementaryField1"] contains an empty string // oPersistentProperty2 contains an empty string oFunctionPropertyList["EPLAN.Project.UserSupplementaryField1"] = "Test_1"; // oPersistentProperty2 also contains the value "Test_1" oPersistentProperty2.Set("Test_2"); // oFunctionPropertyList["EPLAN.Project.UserSupplementaryField1"] also contains the value "Test_2"
// The object stays connected to the data model object and is therefore called a "persistent" (or "online") property. // In this case, the usage of Eplan::EplApi::DataModel::PropertyValue::Set updates the values in the original locations. PropertyValue oPersistentProperty = m_oTestProject.Properties["EPLAN.Project.UserSupplementaryField1"]; // m_oTestProject.Properties.PROJ_CUSTOM_SUPPLEMENTARYFIELD01 contains an empty string m_oTestProject.Properties["EPLAN.Project.UserSupplementaryField1"] = "Test1"; // Now oPersistentProperty also has the value "Test1" oPersistentProperty.Set("Test2"); // Now m_oTestProject.Properties.PROJ_CUSTOM_SUPPLEMENTARYFIELD01 also has the value "Test2"
Article article = myProject.Articles[0]; // A valid Article object // Below here the PropertyValue is implicitly created from int '2' and assigned to the property list. article.Properties[Properties.Article.ARTICLE_HEIGHT] = 2; // Below here the PropertyValue is implicitly created from string "5" and assigned to the property list. article.Properties[Properties.Article.ARTICLE_HEIGHT] = "5"; // Below here the PropertyValue is read form the property list and implicitly converted to string. string s = article.Properties[Properties.Article.ARTICLE_HEIGHT]; // Below here the PropertyValue is read form the property list and implicitly converted to int. int i = article.Properties[Properties.Article.ARTICLE_HEIGHT];
| Name | Description | |
|---|---|---|
![]() | PropertyValue Constructor | Default constructor. Creates the PropertyValue object. |
| Name | Description | |
|---|---|---|
![]() | Definition | Returns an object that provides information about the property and its definition. The information includes: name of the property, its data type, whether it's indexed or not, whether it's read-only, upper/lower bounds of values for numerical properties. To use the Definition property, the PropertyValue object must point to a project property (persistent property).It cannot point to an individual value (transient property). |
![]() | Id | Returns the P8 property descriptor (id and index) that the object points to. To use the Id property, the PropertyValue object must point to a project property (persistent property). Transient PropertyValue objects don't have descriptors because they point directly to a value. A transient PropertyValue is created by operator and takes values of base types. |
![]() | Indexes | Returns the valid / actually used indexes. It can be used with the PropertyValue::operator []. To use the Indexes property, the PropertyValue object must point to a project property (persistent property).It cannot point to an individual value (transient property). |
![]() | IsEmpty | Checks if the property is empty. If it's not, it could be read. IMPORTANT: If property is indexed you have to set the index. |
![]() | Item | Returns or sets the object of a persistent PropertyValue which points to a specific index. To use the Item property, the PropertyValue object must point to a project property (persistent property).It cannot point to an individual value (transient property). |
![]() | LastUsedIndex | Returns the number of the highest used index. Indexes start at 1. If the property is not indexed or there is no used index, LastUsedIndex is 0. To use the LastUsedIndex property, the PropertyValue object must point to a project property (persistent property).It cannot point to an individual value (transient property). |
![]() | Parent | Property list to which this property value is connected. |
| Name | Description | |
|---|---|---|
![]() | CopyTo | Copies property value to destination including all indexes. If source property is indexed destination has to be also indexed. Only indexes from 1 to minimum of both MaxIndex are copied. |
![]() | Dispose | Destructor for deterministic finalization of PropertyValue object. |
![]() | Equals | Overloaded. Determines whether two PropertyValues objects have the same value. |
![]() | GetDisplayString | Display value of property as Eplan.EplApi.Base.MultiLangString. |
![]() | GetHashCode | Serves as the default hash function. |
![]() | Set | Overloaded. Sets System.DateTime value in PropertyValue object. |
![]() | ToBool | Used in conversion of the PropertyValue object to bool. |
![]() | ToDouble | Used in conversion of the PropertyValue object to double. |
![]() | ToInt | Used in conversion of the PropertyValue object to int. |
![]() | ToMultiLangString | Used in conversion of the PropertyValue object to Eplan.EplApi.Base.MultiLangString. |
![]() | ToPointD | Used in conversion of the PropertyValue object to Eplan.EplApi.Base.PointD. |
![]() | ToString | Overloaded. Returns string value of this property. When type of property is MultiLangString then only the specified language is returned. In case of a transient PropertyValue object, the stored value is returned without any cast. When property can not be read, default_value is returned instead of throwing an EmptyPropertyException . |
![]() | ToTime | Used in conversion of the PropertyValue object to time. |
Equality | Determines whether two PropertyValues objects have the same value. |
Implicit Type Conversion | Overloaded. Used in conversion of the PropertyValue object to int. |
Inequality |
PropertyValue Members
Eplan.EplApi.DataModel Namespace
ArticlePropertyList Class
ConnectionPropertyList Class
FunctionPropertyList Class
FunctionBasePropertyList Class
InterruptionPointPropertyList Class
LocationBoxPropertyList Class
PagePropertyList Class
PlacementPropertyList Class
SymbolVariantPropertyList Class
ProjectPropertyList Class
ConnectionDefinitionPointPropertyList Class
DocumentBasePropertyList Class