Files
Joseph Doherty 32f26272ae Initial commit: Wonderware / System Platform tools and reference
Five tools under one repo, all docs organized per DOCS-GUIDE.md:

- aalogcli: .NET 4.8 / x86 CliFx CLI for reading System Platform binary
  logs (*.aaLGX) for LLM debugging, built on aaOpenSource/aaLog. Commands:
  last, tail, range, unread, fields. Stable JSON envelope under --llm-json.
  Build template under lib/build/ for rebuilding aaLogReader.dll.

- aot: ArchestrA Object Toolkit 2014 v4.0 reference material. Dev guide
  (Markdown converted from CHM), API reference for the ArchestrA.Toolkit
  namespace, and the Monitor / Watchdog VS sample solutions.

- graccesscli: .NET 4.8 / x86 CliFx CLI that automates Galaxy
  configuration via the ArchestrA GRAccess COM interop. Includes session
  daemon, IPC protocol, and llm-json envelope contract.

- grdb: SQL/DDL exploration of the Galaxy Repository database. DDL
  captures, reusable queries, hierarchy / contained-name <-> tag-name
  translation notes.

- histdb: LLM-oriented reference for AVEVA Historian retrieval. INSQL
  linked-server, extension tables, every wwXxx time-domain extension,
  every retrieval mode, alarm/event SQL recipes, REST API. Distilled
  from the 243-page Historian Retrieval Guide.

Root contains:
- CLAUDE.md: thin index pointing into each tool's README.
- DOCS-GUIDE.md: doctrine for organizing docs for LLM consumption.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 18:22:20 -04:00

1907 lines
27 KiB
Markdown

# 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