    

 ## On this page

  

 

 # Class Variable

 Last update: 09.03.2026 

<a id="VM_Managed_Variable"></a>

Namespace: [VM.Managed](VM.Managed.md)  
Assembly: VMAppCore.dll

This class is to represent the variable( Variable data ). Getting the value(double type) through Value property.

```csharp
public class Variable : Expression, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IExpression, IVariable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider

```

#### Inheritance

object ← ObservableObject ← [LinkableBase](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/LinkableBase.cs) ← [LinkContainer](VM.Managed.LinkContainer.md) ← [Expression](VM.Managed.Expression.md) ← [Variable](VM.Managed.Variable.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, [ILinkContainerEvent](VM.Managed.ILinkContainerEvent.md), [IVerifiable](VM.Managed.IVerifiable.md), IExpression, IVariable, IObject, ILinkContainer, IOwned, IHasID, IEventProvider

#### Inherited Members

[Expression.g\_bSkipUpdate](VM.Managed.Expression.md#VM_Managed_Expression_g_bSkipUpdate), [Expression.m\_pExpressionHandler](VM.Managed.Expression.md#VM_Managed_Expression_m_pExpressionHandler), [Expression.m\_strValue](VM.Managed.Expression.md#VM_Managed_Expression_m_strValue), [Expression.m\_dicReferenceObject](VM.Managed.Expression.md#VM_Managed_Expression_m_dicReferenceObject), [Expression.m\_lstReferenceObject](VM.Managed.Expression.md#VM_Managed_Expression_m_lstReferenceObject), [Expression.m\_linkCollectionReferenceObject](VM.Managed.Expression.md#VM_Managed_Expression_m_linkCollectionReferenceObject), [Expression.Initialize()](VM.Managed.Expression.md#VM_Managed_Expression_Initialize), [Expression.UpdateByReferenceObject(object, LinkEventArgs)](VM.Managed.Expression.md#VM_Managed_Expression_UpdateByReferenceObject_System_Object_VM_Managed_LinkEventArgs_), [Expression.AddReferenceObject(UIntPtr)](VM.Managed.Expression.md#VM_Managed_Expression_AddReferenceObject_System_UIntPtr_), [Expression.CheckReferenceObject()](VM.Managed.Expression.md#VM_Managed_Expression_CheckReferenceObject), [Expression.SetDefaultString(ref string)](VM.Managed.Expression.md#VM_Managed_Expression_SetDefaultString_System_String__), [Expression.ConvertToValue(string)](VM.Managed.Expression.md#VM_Managed_Expression_ConvertToValue_System_String_), [Expression.ParseToValue(char\*)](VM.Managed.Expression.md#VM_Managed_Expression_ParseToValue_System_Char__), [Expression.GetNumericValue()](VM.Managed.Expression.md#VM_Managed_Expression_GetNumericValue), [Expression.OnDeserialization(object)](VM.Managed.Expression.md#VM_Managed_Expression_OnDeserialization_System_Object_), [Expression.Uninitialize()](VM.Managed.Expression.md#VM_Managed_Expression_Uninitialize), [Expression.String](VM.Managed.Expression.md#VM_Managed_Expression_String), [LinkContainer.SetModified()](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_SetModified), [LinkContainer.raise\_OnUpdating(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnUpdating_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.raise\_OnUpdate(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnUpdate_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.raise\_OnDestroying(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnDestroying_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.raise\_OnDestroy(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnDestroy_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.raise\_OnAdded(object, AddToDocEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnAdded_System_Object_VM_Managed_AddToDocEventArgs_), [LinkContainer.raise\_OnRemoved(object, RemoveFromDocEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_raise_OnRemoved_System_Object_VM_Managed_RemoveFromDocEventArgs_), [LinkContainer.GetTargetListForUpdate()](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_GetTargetListForUpdate), [LinkContainer.SkipUpdateObjectImpl()](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_SkipUpdateObjectImpl), [LinkContainer.Initialize(Unit.ConvertFactor)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Initialize_VM_Unit_ConvertFactor_), [LinkContainer.SetFlagWhenXMLFile(string, bool)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_SetFlagWhenXMLFile_System_String_System_Boolean_), [LinkContainer.IsSerializableEvent(Delegate)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_IsSerializableEvent_System_Delegate_), [LinkContainer.CustomGetObjectData(SerializationInfo, StreamingContext)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_CustomGetObjectData_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_), [LinkContainer.GetSerializedData(SerializationInfo, StreamingContext)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_GetSerializedData_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_), [LinkContainer.LinkRequestUpdating(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRequestUpdating_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.LinkRequestUpdate(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRequestUpdate_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.LinkRequestDestroying(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRequestDestroying_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.LinkRequestDestroy(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRequestDestroy_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.LinkAddedToDocument(object, AddToDocEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkAddedToDocument_System_Object_VM_Managed_AddToDocEventArgs_), [LinkContainer.LinkRemovedFromDocument(object, RemoveFromDocEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_LinkRemovedFromDocument_System_Object_VM_Managed_RemoveFromDocEventArgs_), [LinkContainer.OnLinkReserved(ILink, object, EventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnLinkReserved_VM_Managed_ILink_System_Object_System_EventArgs_), [LinkContainer.CanBeDestroy(object)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_CanBeDestroy_System_Object_), [LinkContainer.DisposeManagedResources()](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_DisposeManagedResources), [LinkContainer.SetContainer(IOwned, bool)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_SetContainer_VM_Models_Pre_IOwned_System_Boolean_), [LinkContainer.OnChildUpdated(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnChildUpdated_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.OnContainerDestroy(object, LinkEventArgs)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnContainerDestroy_System_Object_VM_Managed_LinkEventArgs_), [LinkContainer.OnDeserialization(object)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnDeserialization_System_Object_), [LinkContainer.Verify(VerifiedResult)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Verify_VM_Managed_VerifiedResult_), [LinkContainer.GetCopy(object)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_GetCopy_System_Object_), [LinkContainer.Dispose(bool)](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Dispose_System_Boolean_), [LinkContainer.ClearChildInfoBeforeDeserialize](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_ClearChildInfoBeforeDeserialize), [LinkContainer.Container](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Container), [LinkContainer.Owner](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Owner), [LinkContainer.Document](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_Document), [LinkContainer.ID](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_ID), [LinkContainer.IsChildExternable](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_IsChildExternable), [LinkContainer.IsExternable](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_IsExternable), [LinkContainer.OnRemoved](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnRemoved), [LinkContainer.OnAdded](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnAdded), [LinkContainer.OnDestroy](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnDestroy), [LinkContainer.OnDestroying](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnDestroying), [LinkContainer.OnUpdate](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnUpdate), [LinkContainer.OnUpdating](VM.Managed.LinkContainer.md#VM_Managed_LinkContainer_OnUpdating), [LinkableBase.OnDeserialization(object)](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/LinkableBase.cs), ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### <a id="VM_Managed_Variable__ctor_System_Double_System_Boolean_"></a> Variable(double, bool)

Initializes a new instance of the  class.

```csharp
public Variable(double dValue, bool bRoundUp)

```

#### Parameters

`dValue` double

The value of Variable(double type).

`bRoundUp` bool

Determines whether is value without limiting the precision.

### <a id="VM_Managed_Variable__ctor_System_Double_"></a> Variable(double)

Initializes a new instance of the  class.

```csharp
public Variable(double dValue)

```

#### Parameters

`dValue` double

The value of Variable(double type). This value will be rounded.

### <a id="VM_Managed_Variable__ctor_System_String_"></a> Variable(string)

Initializes a new instance of the  class.

```csharp
public Variable(string strValue)

```

#### Parameters

`strValue` string

The value of Variable(string type).

### <a id="VM_Managed_Variable__ctor"></a> Variable()

Initializes a new instance of the  class.

```csharp
public Variable()

```

## Properties

### <a id="VM_Managed_Variable_DontUpdateByReferenceObject"></a> DontUpdateByReferenceObject

```csharp
public bool DontUpdateByReferenceObject { set; }

```

#### Property Value

bool

### <a id="VM_Managed_Variable_IsSimpleValue"></a> IsSimpleValue

Gets the simple value.

```csharp
public virtual bool IsSimpleValue { get; }

```

#### Property Value

bool

### <a id="VM_Managed_Variable_PreciseValue"></a> PreciseValue

Sets the value without limiting the precision.

```csharp
public double PreciseValue { set; }

```

#### Property Value

double

### <a id="VM_Managed_Variable_Value"></a> Value

Gets or sets the value

```csharp
public virtual double Value { get; set; }

```

#### Property Value

double

## Methods

### <a id="VM_Managed_Variable_Clone"></a> Clone()

```csharp
public virtual object Clone()

```

#### Returns

object

### <a id="VM_Managed_Variable_ConvertToValue_System_String_"></a> ConvertToValue(string)

Convert to value.

```csharp
protected override bool ConvertToValue(string strValue)

```

#### Parameters

`strValue` string

The string.

#### Returns

bool

### <a id="VM_Managed_Variable_GetFullName"></a> GetFullName()

```csharp
public virtual string GetFullName()

```

#### Returns

string

### <a id="VM_Managed_Variable_GetNumericValue"></a> GetNumericValue()

Get numeric value.

```csharp
protected override double GetNumericValue()

```

#### Returns

double

### <a id="VM_Managed_Variable_GetSchema"></a> GetSchema()

This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return nullNothingnullptra null reference (Nothing in Visual Basic) (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the XmlSchemaProviderAttribute to the class.

```csharp
public virtual XmlSchema GetSchema()

```

#### Returns

XmlSchema

### <a id="VM_Managed_Variable_GetValue_System_String_"></a> GetValue(string)

```csharp
public static double GetValue(string strValue)

```

#### Parameters

`strValue` string

#### Returns

double

### <a id="VM_Managed_Variable_LinkRequestDestroying_System_Object_VM_Managed_LinkEventArgs_"></a> LinkRequestDestroying(object, LinkEventArgs)

The destroying event occured from the linked object.

```csharp
protected override void LinkRequestDestroying(object obNotifier, LinkEventArgs arg)

```

#### Parameters

`obNotifier` object

`arg` [LinkEventArgs](VM.Managed.LinkEventArgs.md)

The destroy event information.

### <a id="VM_Managed_Variable_LinkRequestUpdate_System_Object_VM_Managed_LinkEventArgs_"></a> LinkRequestUpdate(object, LinkEventArgs)

The update event occured from the linked object.

```csharp
protected override void LinkRequestUpdate(object objNotifier, LinkEventArgs arg)

```

#### Parameters

`objNotifier` object

The linked object.

`arg` [LinkEventArgs](VM.Managed.LinkEventArgs.md)

The update event information.

### <a id="VM_Managed_Variable_ParseToValue_System_Char__"></a> ParseToValue(char\*)

Parse to value.

```csharp
protected override void ParseToValue(char* wstrValue)

```

#### Parameters

`wstrValue` char\*

The string.

### <a id="VM_Managed_Variable_ReadXml_System_Xml_XmlReader_"></a> ReadXml(XmlReader)

Generates an object from its XML representation.

```csharp
public virtual void ReadXml(XmlReader reader)

```

#### Parameters

`reader` XmlReader

The XmlReader stream from which the object is deserialized.

### <a id="VM_Managed_Variable_SetDefaultString_System_String__"></a> SetDefaultString(ref string)

Set default string.

```csharp
protected override void SetDefaultString(ref string strValue)

```

#### Parameters

`strValue` string

The value holds default string.

### <a id="VM_Managed_Variable_SetExpression_System_String_"></a> SetExpression(string)

Sets the value.

```csharp
public virtual void SetExpression(string strValue)

```

#### Parameters

`strValue` string

The value.

### <a id="VM_Managed_Variable_UpdateByReferenceObject_System_Object_VM_Managed_LinkEventArgs_"></a> UpdateByReferenceObject(object, LinkEventArgs)

The update event occured from the reference object.

```csharp
public override void UpdateByReferenceObject(object obj, LinkEventArgs arg)

```

#### Parameters

`obj` object

The reference object.

`arg` [LinkEventArgs](VM.Managed.LinkEventArgs.md)

The update event information.

### <a id="VM_Managed_Variable_WriteXml_System_Xml_XmlWriter_"></a> WriteXml(XmlWriter)

Converts an object into its XML representation.

```csharp
public virtual void WriteXml(XmlWriter writer)

```

#### Parameters

`writer` XmlWriter

The XmlWriter stream to which the object is serialized.

## Operators

### <a id="VM_Managed_Variable_op_Implicit_VM_Managed_Variable__VM_Models_Pre_ExpressionValueVariable"></a> implicit operator ExpressionValueVariable(Variable)

Cast operator.

```csharp
public static implicit operator ExpressionValueVariable(Variable variable)

```

#### Parameters

`variable` [Variable](VM.Managed.Variable.md)

The Variable.

#### Returns

[ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)

### <a id="VM_Managed_Variable_op_Implicit_VM_Models_Pre_ExpressionValueVariable__VM_Managed_Variable"></a> implicit operator Variable(ExpressionValueVariable)

Cast operator.

```csharp
public static implicit operator Variable(ExpressionValueVariable expressionValue)

```

#### Parameters

`expressionValue` [ExpressionValueVariable](https://github.com/AnsysVirtualMotion/DAFUL/blob/9110677a5f6a53d7604f8dfd35b4c5fceb59e8e0/DAFUL/Pre/Data/VM.Models.Pre/Models/ExpressionValueVariable.cs)

The ExpressionValue.

#### Returns

[Variable](VM.Managed.Variable.md)