# 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