Eplan Platform API
Eplan.EplApi.DataModel Namespace / PropertyValue Class
Members Example

In This Topic
    PropertyValue Class
    In This Topic
    Class holding value of P8 property.
    Inheritance Hierarchy

    System.Object
       Eplan.EplApi.DataModel.PropertyValue

    Syntax
    [DefaultMember("Item")]
    public sealed class PropertyValue 
    [DefaultMember("Item")]
    public ref class PropertyValue sealed 
    Remarks
    It's object can be created and assigned to following types: * int, * string, * double, * bool, * DateTime * Eplan.EplApi.Base.MultiLangString, * Eplan.EplApi.Base.PointD. By definition of several conversion operators from and to other types, it simplifies access to P8 properties stored inside all kinds of PropertyList classes. User does not have to use this class explicit, it allows to simple P8 property value to users variable assignation. See example.
    Example
    Please note that following code: will create new off-line property and assign it into variable oPV1. If you wish to change value of property use method Eplan::EplApi::DataModel::PropertyValue::Set. PropertyValue object can appear in three states: * Created by user. This object is not connected with any property list or StorableObject. It is off-line property. * Collected from property list. It is on-line property. * Collected from any data model object. It is on-line property. In two last cases usage of Eplan::EplApi::DataModel::PropertyValue::Set updates vales in original locations.
    PropertyValue oPV1 = oFunction.Properties[Properties.Function.FUNC_COMMENT];
    oPV1 = oPV1 + " additional comment";
    PropertyValue oOfflineProperty = new PropertyValue();
    oOfflineProperty.Set("Setting value to offline PropertyValue.");
    
    
    FunctionPropertyList oFunctionPropertyList = new FunctionPropertyList();
    
    PropertyValue oOnlineProperty2 = oFunctionPropertyList["EPLAN.Project.UserSupplementaryField1"];
    //oFunctionPropertyList["EPLAN.Project.UserSupplementaryField1"] contains empty string
    //oOnlineProperty2 contains empty string
    
    oFunctionPropertyList["EPLAN.Project.UserSupplementaryField1"] = "Test_1";
    //oOnlineProperty2 == "Test_1 also
    
    oOnlineProperty2.Set("Test_2");
    //oFunctionPropertyList["EPLAN.Project.UserSupplementaryField1"] == Test_2 also
    
    
    PropertyValue oOnlineProperty = m_oTestProject.Properties["EPLAN.Project.UserSupplementaryField1"];
    //oProject.Properties.PROJ_CUSTOM_SUPPLEMENTARYFIELD01 contains empty string
    
    m_oTestProject.Properties["EPLAN.Project.UserSupplementaryField1"] = "Test1";
    //now oOnlinePropertyValue has value "Test1" also
    
    oOnlineProperty.Set("Test2");
    //now oProject.Properties.PROJ_CUSTOM_SUPPLEMENTARYFIELD01 has value "Test2" also
    
    
    Article article; //a valid article object
    
    //below here PropertyValue is implicit created from int '2' and its assigned to the property list.
    article.Properties[Properties.Article.ARTICLE_HEIGHT] = 2; 
    
    //below here PropertyValue is implicit created from string "5" and its assigned to the property list.
    article.Properties[Properties.Article.ARTICLE_HEIGHT] = "5";
    
    //below here PropertyValue is read form property list and implicit converted to string.
    string s = article.Properties[Properties.Article.ARTICLE_HEIGHT]; 
    
    //below here PropertyValue is read form property list and implicit converted to int.
    int i = article.Properties[Properties.Article.ARTICLE_HEIGHT];
    Public Constructors
     NameDescription
    Public ConstructorDefault constructor. Creates the PropertyValue object.  
    Top
    Public Properties
     NameDescription
    Public PropertyReturns 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.  
    Public PropertyReturns P8-Property descriptor ( id and index ) on which points object. Transient PropertyValue objects don't have descriptors because they points directly to value. Transient PropertyValue is created operator by operators which takes base types values.  
    Public PropertyReturns valid indexes. It can be used with PropertyValue::operator [];  
    Public PropertyChecks if property is empty. If it's not it could be read. IMPORTANT: If property is indexed you have to set index.  
    Public PropertyReturns or set object of PropertyValue which points to specific index.  
    Public PropertyReturns number of highest used index. Indexes start from 1. If it wasn't a indexed-property or there is no used index, LastUsedIndex is 0; Object of PropertyValue had to point to property from project not to individual value.  
    Public PropertyProperty list to which this property value is connected.  
    Top
    Public Methods
     NameDescription
    Public MethodCopies property value to destination including all indexes. If source property is indexed destination has to be also indexed. Only indexes from 1 to minimal of both MaxIndex are copied.  
    Public MethodDestructor for deterministic finalization of PropertyValue object.  
    Public MethodOverloaded. Determines whether two PropertyValues objects have the same value.  
    Public MethodDisplay value of property as Eplan.EplApi.Base.MultiLangString.  
    Public MethodServes as the default hash function.  
    Public MethodOverloaded. Sets System.DateTime value in PropertyValue object.  
    Public MethodUsed in conversion of the PropertyValue object to bool.  
    Public MethodUsed in conversion of the PropertyValue object to double.  
    Public MethodUsed in conversion of the PropertyValue object to int.  
    Public MethodUsed in conversion of the PropertyValue object to Eplan.EplApi.Base.MultiLangString.  
    Public MethodUsed in conversion of the PropertyValue object to Eplan.EplApi.Base.PointD.  
    Public MethodOverloaded. Returns string value of this property. When type of property is MultiLangString then only specified language is returned. In case of off-line PropertyValue object, stored value is returned without any cast. When property can not be read, default_value is returned instead of throwing EmptyPropertyException .  
    Public MethodUsed in conversion of the PropertyValue object to time.  
    Top
    Public Operators
    Determines whether two PropertyValues objects have the same value.
    Overloaded. Used in conversion of the PropertyValue object to int.
     
    Top
    See Also