# CMxValue Class

Namespace: `ArchestrA.Toolkit`

A wrapper class that represents an MxValue. Includes the fundamental variant object that contains a single data value or single array of data values of like type. MxValue is used to get and set data within the ArchestrA framework.

**Syntax**

```csharp
public class CMxValue
```

## CMxValue Properties

### Length Property

Provides a property to get the length of the value.

**Syntax**

```csharp
int Length { get; }
```

**Returns**

int

Returns 0 if the value is a non-array type.

### Value Property

Provides a property to get IMxValue for compatibility with the existing methods.

**Syntax**

```csharp
IMxValue Value { get; }
```

**Returns**

IMxValue

## CMxValue Constructors

### CMxValue Constructor

Provides a constructor to create an empty CMxValue.

**Syntax**

```csharp
public CMxValue();
```

### CMxValue Constructor IMxValue

Provides a constructor to create a CMxValue with the value from an existing IMxValue.

**Syntax**

```csharp
public CMxValue(IMxValue val);
```

**Parameters**

**`val`**

[in] IMxValue to be set.

### CMxValue Constructor object

Provides a constructor to create a CMxValue with the value of a C# object.

**Syntax**

```csharp
public CMxValue(object val);
```

**Parameters**

**`val`**

[in] Supported datatypes: CMxValue, CMxType, System.Boolean, System.Int32, System.Single, System.Double, System.String, System.DateTime, System.TimeSpan, System.Int16, ArchestrA.Toolkit.EnumOrdinal, ArchestrA.Toolkit.MxCustomStruct, ArchestrA.Core.MxDataType, ArchestrA.Core.MxDataType, ArchestrA.Core.MxSecurityClassification, ArchestrA.Core.InternationalizedString, ArchestrA.Core.DataQuality, ArchestrA.Toolkit.CMxDataQuality and ArchestrA.Core.MxReference.

## CMxValue Methods

### Clone Method

Provides a method to create a copy of an existing CMxValue which includes creating a copy of the internal IMxValue class.

**Syntax**

```csharp
public Clone(out CMxValue ppMxValue);
```

**Parameters**

**`ppMxValue`**

[out} fills the ppMxValue with the current CMxValue.

### Empty Method

Provides a method to call Empty on the IMxValue.

**Syntax**

```csharp
public void Empty();
```

### DateTimeToFileTime Method

Provides a method to convert a DateTime into a _FILETIME. Converts the current System.DateTime object to a Windows file time.

**Syntax**

```csharp
public static _FILETIME DateTimeToFileTime(DateTime date);
```

**Parameters**

**`date`**

[in] DateTime value.

**Returns**

_FILETIME

### DateTimeToVBFT Method

Provides a method to convert a DateTime into a VBFILETIME.

**Syntax**

```csharp
public static VBFILETIME DateTimeToVBFT(DateTime date);
```

**Parameters**

**`date`**

[in] DateTime value.

**Returns**

VBFILETIME

### FileTimeToDateTime Method

Provides a method to convert a _FILETIME to a DateTime.

**Syntax**

```csharp
public static DateTime FileTimeToDateTime(_FILETIME val);
```

**Parameters**

**`val`**

[in] __FILETIME value.

**Returns**

DateTime

### VBFIToDateTime Method

Provides a method to convert VBFILETIME to DateTime.

**Syntax**

```csharp
public static DateTime VBFTToDateTime(VBFILETIME val);
```

**Parameters**

**`val`**

[in] VBFILETIME value.

**Returns**

DateTime

### TimeSpanToVBLI Method

Provides a method to convert a TimeSpan to VB_LARGE_INTEGER.

**Syntax**

```csharp
public static VB_LARGE_INTEGER TimeSpanToVBLI(TimeSpan span);
```

**Parameters**

**`span`**

[in] TimeSpan value.

**Returns**

VB_LARGE_INTEGER

### VBLIToTimeSpan Method

Provides a method to convert VB_LARGE_INTEGER to TimeSpan.

**Syntax**

```csharp
public static TimeSpan VBLIToTimeSpan(VB_LARGE_INTEGER val);
```

**Parameters**

**`val`**

[in] VB_LARGE_INTEGER value.

**Returns**

TimeSpan

### GetBoolean Method

Provides a method to get the value as a Boolean.

**Syntax**

```csharp
public bool GetBoolean();
```

**Returns**

bool

### GetBooleanArray Method

Provides a method to get the value as a Boolean array.

**Syntax**

```csharp
public bool[] GetBooleanArray();
```

**Returns**

bool[ ]

### GetClassID Method

Provides a method to get the Class ID of the IMxValue.

**Syntax**

```csharp
public void GetClassID(out Guid pClassID);
```

**Parameters**

**`pClassID`**

[out] fills the pClassID with the Class ID of the IMxValue.

### GetCustomEnum Method

Provides a method to get a custom enum as a text value, ordinal, id of the primitive that owns the array of strings, id of the array of strings.

**Syntax**

```csharp
public void GetCustomEnum(out string pValue, out short pOrdinal, out short pPrimitiveId, out
short pAttributeId);
```

**Parameters**

**`pValue`**

[out] fills the pValue with the current CMXCustomEnum text.

**`pOrdinal`**

[out] fills the pOrdinal with the current CMXCustomEnum ordinal.

**`pPrimitiveId`**

[out] fills the pPrimitiveId with the primitive ID of the referred string array attribute.

**`pAttributeId`**

[out] fills the pAttributeId with the attribute ID of the referred string array attribute.

### GetCustomEnumArray Method

Provides a method to get an array of ordinals of a CustomEnum.

**Syntax**

```csharp
public short[] GetCustomEnumArray();
```

**Returns**

short[ ]

### GetCustomEnumOrdinal Method

Provides a method to get the ordinal of a CustomEnum.

**Syntax**

```csharp
public short GetCustomEnumOrdinal();
```

**Returns**

short

### GetCustomEnumString Method

Provides a method to get the text value of a CustomEnum.

**Syntax**

```csharp
public string GetCustomEnumString();
```

**Returns**

string

### GetCustomStruct Method

Provides a method to get the value as an MxCustomStruct.

**Syntax**

```csharp
public MxCustomStruct GetCustomStruct();
```

**Returns**

MxCustomStruct

### GetCustomStructArray Method

Provides a method to get the value as an MxCustomStruct Array.

**Syntax**

```csharp
public MxCustomStruct[] GetCustomStructArray();
```

**Returns**

MxCustomStruct[ ]

### GetCustomStructVB Method

Provides a method to get the value as a guid and byte array.

**Syntax**

```csharp
public void GetCustomStructVB(out int pGuid, ref byte[] pStruct);
```

**Parameters**

**`pGuid`**

[out] fills the pGuid with the current CMXCustomStructArray guid.

**`pStruct`**

[out] fills the pStruct with the current CMXCustomStructArray data.

### GetDataType Method

Provides a method to get the type of the data.

**Syntax**

```csharp
public MxDataType GetDataType();
```

**Returns**

MxDataType

### GetDimensionCount Method

Provides a method to get the number of dimensions.

**Syntax**

```csharp
public void GetDimensionCount(out short nDimensions);
```

**Parameters**

**`nDimensions`**

[out] fills the nDimensions with the dimension count of the IMxValue.

### GetDimensionSize Method

Provides a method to access the DimensionSize of IMxValue.

**Syntax**

```csharp
public void GetDimensionSize(out int pSize);
```

**Parameters**

**`pSize`**

[out] fills the pSize with the dimension size of the IMxValue.

### GetDouble Method

Provides a method to get the value as a double.

**Syntax**

```csharp
public double GetDouble();
```

**Returns**

double

### GetDoubleArray Method

Provides a method to get the value as a double array.

**Syntax**

```csharp
public double[] GetDoubleArray();
```

**Returns**

double[ ]

### GetElapsedTime Method

Provides a method to get the value as a TimeSpan.

**Syntax**

```csharp
public dTimeSpan GetElapsedTime();
```

**Returns**

TimeSpan

### GetElapsedTimeArray Method

Provides a method to get the value as a TimeSpan array.

**Syntax**

```csharp
public TimeSpan[] GetElapsedTimeArray();
```

**Returns**

TimeSpan[ ]

### GetElement Method

Provides a method to get a single element of an array as a CMxValue by index.

**Syntax**

```csharp
public void GetElement(int index1, out CMxValue pMxValue);
```

**Parameters**

**`index1`**

[in] index of the array element.

**`pMxValue`**

[out] fills the pMxValue with the array element.

### GetFloat Method

Provides a method to get the value as a float.

**Syntax**

```csharp
public float GetFloat();
```

**Returns**

float

### GetFloatArray Method

Provides a method to get the value as a float array.

**Syntax**

```csharp
public float[] GetFloatArray();
```

**Returns**

float[ ]

### GetInteger Method

Provides a method to get the value as an int.

**Syntax**

```csharp
public int GetInteger();
```

**Returns**

int

### GetIntegerArray Method

Provides a method to get the value as an int array.

**Syntax**

```csharp
public int[] GetIntegerArray();
```

**Returns**

int[ ]

### GetInternationalString Method

Provides a method to get the value by locale.

**Syntax**

```csharp
public string GetInternationalString(int locale);
```

**Parameters**

**`locale`**

[in] locale number of the language/culture.

**Returns**

string

### GetInternationalStrings Method

Provides a method to get the value as an array of InternationalizedStrings.

**Syntax**

```csharp
public InternationalizedString[] GetInternationalStrings();
```

**Returns**

InternationalizedString[ ]

### GetMxDataQuality Method

Provides a method to get the Data Quality as a short.

**Syntax**

```csharp
public short GetMxDataQuality();
```

**Returns**

short

### GetMxDataType Method

Provides a method to get the value as a MxDataType.

**Syntax**

```csharp
public MxDataType GetMxDataType();
```

**Returns**

MxDataType

### GetMxDataTypeArray Method

Provides a method to get the value as a MxDataType array.

**Syntax**

```csharp
public MxDataType[] GetMxDataTypeArray();
```

**Returns**

MxDataType[ ]

### GetMxReference Method

Provides a method to get the value as a IMxReference.

**Syntax**

```csharp
public IMxReference GetMxReference();
```

**Returns**

IMxReference

### GetMxReferenceArrayAsStrings Method

Provides a method to get the value of a reference array as an array of strings.

**Syntax**

```csharp
public string[] GetMxReferenceArrayAsStrings();
```

**Returns**

string[ ]

### GetMxReferenceAsString Method

Provides a method to get the value of a reference as a string.

**Syntax**

```csharp
public string GetMxReferenceAsString();
```

**Returns**

string

### GetMxSecurityClassification Method

Provides a method to get the value as a MxSecurityClassification.

**Syntax**

```csharp
public MxSecurityClassification GetMxSecurityClassification();
```

**Returns**

MxSecurityClassification

### GetMxSecurityClassificationArray Method

Provides a method to get the value as a MxSecurityClassification array.

**Syntax**

```csharp
public MxSecurityClassification[] GetMxSecurityClassificationArray();
```

**Returns**

MxSecurityClassification[ ]

### GetMxStatus Method

Provides a method to get the value as a MxStatus.

**Syntax**

```csharp
public MxStatus GetMxStatus();
```

**Returns**

MxStatus

### GetMxStatusArray Method

Provides a method to get the value as a MxStatus array.

**Syntax**

```csharp
public MxStatus[] GetMxStatusArray();
```

**Returns**

MxStatus[ ]

### GetSizeMax Method

Provides a method to get the max size as a _ULARGE_INTEGER.

**Syntax**

```csharp
public void GetSizeMax(out _ULARGE_INTEGER pcbSize);
```

**Parameters**

**`pcbSize`**

[out] fills the pcbSize with the IMxValue max size.

### GetString Method

Provides a method to get the value as a string.

**Syntax**

```csharp
public string GetString();
```

**Returns**

string

### GetStringArray Method

Provides a method to get the value as a string array.

**Syntax**

```csharp
public string[] GetStringArray();
```

**Returns**

string[ ]

### GetTime Method

Provides a method to get the value as a DateTime.

**Syntax**

```csharp
public DateTime GetTime();
```

**Returns**

DateTime

### GetTime Method

Provides a method to get the value as a DateTime (compatible with IMxValue syntax.)

**Syntax**

```csharp
public void GetTime(out DateTime pVal);
```

**Parameters**

**`pVal`**

[out] fills the DateTime parameter by converting the Windows file time to its equivalent local time.

### GetTimeArray Method

Provides a method to get the value as a DateTime array.

**Syntax**

```csharp
public DateTime[] GetTimeArray();
```

**Returns**

DateTime[ ]

### IsArray Method

Provides a method to indicate if the value is an array.

**Syntax**

```csharp
public bool IsArray();
```

**Returns**

bool

### IsDirty Method

Provides a method to access IMxValue IsDirty.

**Syntax**

```csharp
public void IsDirty();
```

### PutBoolean Method

Provides a method to set the value from a Boolean.

**Syntax**

```csharp
public void PutBoolean(bool newVal);
```

**Parameters**

**`newVal`**

[in] bool value to be set.

### PutBooleanArray Method

Provides a method to set the value from a Boolean array.

**Syntax**

```csharp
public void PutBooleanArray(bool[] values);
```

**Parameters**

**`values`**

[in] bool[ ] value to be set.

### PutCustomEnum Method

Provides a method to set the value from a text string, ordinal, primitive ID, and atttribute ID.

**Syntax**

```csharp
public void PutCustomEnum(string Value, short ordinal, short primitiveId, short attributeId);
```

**Parameters**

**`Value`**

[in] Text to set to the CMxCustomEnum.

**`ordinal`**

[in] Ordinal position to be set.

**`primitiveId`**

[in] primitive id of the referenced string array attribute.

**`attributeId`**

[in] Attribute id of the referenced string array attribute CMxValue Class.

### PutCustomEnumArray Method

Provides a method to set the value from an array of shorts indicating the ordinal.

**Syntax**

```csharp
public void PutCustomEnumArray(short[] values);
```

**Parameters**

**`values`**

[in] Sets the CMxCustomEnumArray with the ordinal values.

### PutCustomEnumOrdinal Method

Provides a method to set the value of the ordinal.

**Syntax**

```csharp
public void PutCustomEnumOrdinal(short ordinal);
```

**Parameters**

**`ordinal`**

[in] Sets the CMxCustomEnum ordinal value.

### PutCustomStruct Method

Provides a method to set the value from a MxCustomStruct.

**Syntax**

```csharp
public void PutCustomStruct(MxCustomStruct cs);
```

**Parameters**

**`cs`**

[in] MxCustomStruct value to be set.

### PutCustomStructArray Method

Provides a method to set the value from a MxCustomStruct array.

**Syntax**

```csharp
public void PutCustomStructArray(MxCustomStruct[] values);
```

**Parameters**

**`values`**

[in] MxCustomStruct[ ] value to be set.

### PutCustomStructVBArray Method

Provides a method to set the value from a guid and byte array.

**Syntax**

```csharp
public void PutCustomStructVB(int guid, byte[] pStruct);
```

**Parameters**

**`guid`**

[in] int value that holds guid to be set.

**`pStruct`**

[in] byte[ ] value to be set.

### PutDouble Method

Provides a method to set the value from a double.

**Syntax**

```csharp
public void PutDouble(double newVal);
```

**Parameters**

**`newVal`**

[in] double value to be set.

### PutDoubleArray Method

Provides a method to set the value from a double array.

**Syntax**

```csharp
public void PutDoubleArray(double[] values);
```

**Parameters**

**`values`**

[in] double[ ] value to be set.

### PutElapsedTime Method

Provides a method to set the value from a TimeSpan.

**Syntax**

```csharp
public void PutElapsedTime(TimeSpan ts);
```

**Parameters**

**`ts`**

[in] TimeSpan value to be set.

### PutElapsedTimeArray Method

Provides a method to set the value from a TimeSpan array.

**Syntax**

```csharp
public void PutElapsedTimeArray(TimeSpan[] values);
```

**Parameters**

**`values`**

[in] TimeSpan[ ] value to be set.

### PutElement Method

Provides a method to set the value of an element from a CMxValue by index.

**Syntax**

```csharp
public void PutElement(int index, CMxValue pMxValue);
```

**Parameters**

**`index`**

[in] index value.

**`pMxValue`**

[in] value to be set at the specified index.

### PutFloat Method

Provides a method to set the value from a float.

**Syntax**

```csharp
public void PutFloat(float newVal);
```

**Parameters**

**`newVal`**

[in] float value to be set.

### PutFloatArray Method

Provides a method to set the value from a float array.

**Syntax**

```csharp
public void PutFloatArray(float[] values);
```

**Parameters**

**`values`**

[in] float[ ] value to be set.

### PutInteger Method

Provides a method to set the value from an int.

**Syntax**

```csharp
public void PutInteger(int newVal);
```

**Parameters**

**`newVal`**

[in] integer value to be set.

### PutIntegerArray Method

Provides a method to set the value from an int array.

**Syntax**

```csharp
public void PutIntegerArray(int[] values);
```

**Parameters**

**`values`**

[in] integer[ ] value to be set.

### PutInternationalString Method

Provides a method to set the value of a specified locale from a string.

**Syntax**

```csharp
public void PutInternationalString(int locale, string InternationalizedString);
```

**Parameters**

**`locale`**

[in] integer value to be set.

**`InternationalizedString`**

[in] string value to be set.

### PutInternationalStringVB Method

Provides a method to set the value from an InternationalizedString array.

**Syntax**

```csharp
public void PutInternationalStringsVB(InternationalizedString[] ppsa);
```

**Parameters**

**`ppsa`**

[in] InternationalizedString[ ] value to be set.

### PutMxDataQuality Method

Provides a method to set the value from an OpcQuality.

**Syntax**

```csharp
public void PutMxDataQuality(OpcQuality newVal);
```

**Parameters**

**`newVal`**

[in] OpcQuality value to be set.

### PutMxDataQuality Method

Provides a method to set the value from a short quality.

**Syntax**

```csharp
public void PutMxDataQuality(short newVal);
```

**Parameters**

**`newVal`**

[in] short value to be set.

### PutMxDataType Method

Provides a method to set the value from a MxDataType.

**Syntax**

```csharp
public void PutMxDataType(MxDataType newVal);
```

**Parameters**

**`newVal`**

[in] MxDataType value to be set.

### PutMxDataTypeArray Method

Provides a method to set the value from a MxDataType array.

**Syntax**

```csharp
public void PutMxDataTypeArray(MxDataType[] values);
```

**Parameters**

**`values`**

[in] MxDataType[ ] values to be set.

### PutMxReference Method

Provides a method to set the value from a IMxReference.

**Syntax**

```csharp
public void PutMxReference(IMxReference newVal);
```

**Parameters**

**`newVal`**

[in] IMxReference value to be set.

### PutMxReferenceArrayAsStrings Method

Provides a method to set the value of a reference array from an array of strings.

**Syntax**

```csharp
public void PutMxReferenceArrayAsStrings(string[] values);
```

**Parameters**

**`values`**

[in] string[ ] value to set the reference string of CMxReferenceArray.

### PutMxReferenceAsString Method

Provides a method to set the value of a reference from a string.

**Syntax**

```csharp
public void PutMxReferenceAsString(string newVal);
```

**Parameters**

**`newVal`**

[in] string value to be set.

### PutMxSecurityClassification Method

Provides a method to set the value from a MxSecurityClassification.

**Syntax**

```csharp
public void PutMxSecurityClassification(MxSecurityClassification newVal);
```

**Parameters**

**`newVal`**

[in] MxSecurityClassification value to be set.

### PutMxSecurityClassificationArray Method

Provides a method to set the value from a MxSecurityClassification array.

**Syntax**

```csharp
public void PutMxSecurityClassificationArray(MxSecurityClassification[] newVal);
```

**Parameters**

**`newVal`**

[in] MxSecurityClassification[ ] value to be set.

### PutMxStatus Method

Provides a method to set the value from a MxStatus.

**Syntax**

```csharp
public void PutMxStatus(MxStatus newVal);
```

**Parameters**

**`newVal`**

[in] MxStatus value to be set.

### PutMxStatusArray Method

Provides a method to set the value from a MxStatus array.

**Syntax**

```csharp
public void PutMxStatusArray(MxStatus[] values);
```

**Parameters**

**`values`**

[in] MxStatus[ ] value to be set.

### PutString Method

Provides a method to set the value from a string.

**Syntax**

```csharp
public void PutString(string newVal);
```

**Parameters**

**`newVal`**

[in] string value to be set to CMxString.

### PutStringArray Method

Provides a method to set the value from a string array.

**Syntax**

```csharp
public void PutStringArray(string[] values);
```

**Parameters**

**`values`**

[in] string[ ] value to be set.

### PutTime Method

Provides a method to set the value from a DateTime.

**Syntax**

```csharp
public void PutTime(DateTime val);
```

**Parameters**

**`val`**

[in] DateTime value to be set.

### PutTimeArray Method

Provides a method to set the value from a DateTime array.

**Syntax**

```csharp
public void PutTimeArray(DateTime[] values);
```

**Parameters**

**`values`**

[in] DateTime[ ] value to be set.

### ToString Method

Provides a method to output the value as a string.

**Syntax**

```csharp
public override string ToString();
```

**Returns**

string

## CMxValue Operator Overloads

### Integer Operator Overload

Provides a conversion operator to convert from CMxValue to int.

**Syntax**

```csharp
public static implicit operator int(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to integer.

**Returns**

int

### Float Operator Overload

Provides a conversion operator to convert from CMxValue to float.

**Syntax**

```csharp
public static implicit operator float(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to float.

**Returns**

float

### Double Operator Overload

Provides a conversion operator to convert from CMxValue to a double.

**Syntax**

```csharp
public static implicit operator double(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to double.

**Returns**

double

### TimeSpan Operator Overload

Provides a conversion operator to convert from CMxValue to TimeSpan.

**Syntax**

```csharp
public static implicit operator TimeSpan(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to ElapsedTime.

**Returns**

TimeSpan

### MxCustomStruct Operator Overload

Provides a conversion operator to convert from CMxValue to MxCustomStruct.

**Syntax**

```csharp
public static implicit operator MxCustomStruct(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to MxCustomStruct.

**Returns**

MxCustomStruct

### EnumOrdinal Operator Overload

Provides a conversion operator to convert from CMxValue to EnumOrdinal.

**Syntax**

```csharp
public static implicit operator EnumOrdinal(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to EnumOrdinal.

**Returns**

EnumOrdinal

### MxDataType Operator Overload

Provides a conversion operator to convert from CMxValue to MxDataType

**Syntax**

```csharp
public static implicit operator MxDataType(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to MxDataType.

**Returns**

MxDataType

### MxStatus Operator Overload

Provides a conversion operator to convert from CMxValue to MxStatus.

**Syntax**

```csharp
public static implicit operator MxStatus(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to MxStatus.

**Returns**

MxStatus

### String Overload

Provides a conversion operator to convert from CMxValue to string.

**Syntax**

```csharp
public static implicit operator string(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to string.

**Returns**

string

### MxSecurityClassification Operator Overload

Provides a conversion operator to convert from CMxValue to MxSecurityClassification

**Syntax**

```csharp
public static implicit operator MxSecurityClassification(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to MxSecurityClassification.

**Returns**

MxSecurityClassification

### DateTime Operator Overload

Provides a conversion operator to convert from CMxValue to DateTime.

**Syntax**

```csharp
public static implicit operator DateTime(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to DateTime.

**Returns**

DateTime

### MxValueClass Operator Overload

Provides a conversion operator to convert from CMxValue to MxValueClass.

**Syntax**

```csharp
public static implicit operator MxValueClass(CMxValue val);
```

**Parameters**

**`val`**

[in] CMxValue to convert to MxValueClass.

**Returns**

MxValueClass

### CMxValue Operator Overload (bool)

Provides a conversion operator to convert from bool to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(bool val);
```

**Parameters**

**`val`**

[in] bool value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (DateTime)

Provides a conversion operator to convert from DateTime to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(DateTime val);
```

**Parameters**

**`val`**

[in] DateTime value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (double)

Provides a conversion operator to convert from double to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(double val);
```

**Parameters**

**`val`**

[in] double value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (float)

Provides a conversion operator to convert from float to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(float val);
```

**Parameters**

**`val`**

[in] float value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (int)

Provides a conversion operator to convert from int to CMxValue

**Syntax**

```csharp
public static implicit operator CMxValue(int val);
```

**Parameters**

**`val`**

[in] int value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (MxDataType)

Provides a conversion operator to convert from MxDataType to CMxValue

**Syntax**

```csharp
public static implicit operator CMxValue(MxDataType val);
```

**Parameters**

**`val`**

[in] MxDataType value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (MxSecurityClassification)

Provides a conversion operator to convert from MxSecurityClassification to CMxValue

**Syntax**

```csharp
public static implicit operator CMxValue(MxSecurityClassification val);
```

**Parameters**

**`val`**

[in] MxSecurityClassification value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (MxStatus)

Provides a conversion operator to convert from MxStatus to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(MxStatus val);
```

**Parameters**

**`val`**

[in] MxStatus value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (OpcQuality)

Provides a conversion operator to convert from OpcQuality to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(OpcQuality val);
```

**Parameters**

**`val`**

[in] OpcQuality value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (string)

Provides a conversion operator to convert from string to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(string val);
```

**Parameters**

**`val`**

[in] string value to convert to CMxValue.

**Returns**

CMxValue

### CMxValue Operator Overload (TimeSpan)

Provides a conversion operator to convert from TimeSpan to CMxValue.

**Syntax**

```csharp
public static implicit operator CMxValue(TimeSpan val);
```

**Parameters**

**`val`**

[in] TimeSpan value to convert to CMxValue.

**Returns**

CMxValue
