# CMxVariant Class Namespace: `ArchestrA.Toolkit` CMxVariant class is derived from CMxCommon and provides support for variant Attributes. **Syntax** ```csharp public class CMxVariant : CMxCommon ``` ## CMxVariant Property ### Value Property Provides a property to get and set the value as a string. **Syntax** ```csharp public CMxValue Value { get; set; } ``` **Returns** CMxValue ## CMxVariant Constructors ### CMxVariant Constructor Provides a default constructor. **Syntax** ```csharp public CMxVariant(); ``` ### CMxVariant Constructor CMxValue Provides a constructor to initialize the object with a CMxValue. **Syntax** ```csharp public CMxVariant(CMxValue v); ``` **Parameters** **`v`** [in] CMxValue value. ### CMxVariant Constructor SupportWrapper, string Provides a constructor to initialize the class for use in a primitive wrapper. **Syntax** ```csharp public CMxStatus (SupportWrapper _wrapper, string _attributeRef); ``` **Parameters** **`_wrapper`** [in] SupportWrapper. **`_attributeRef`** [in] string value that holds the attribute reference. ## CMxVariant Methods ### Set Method Provide a method to set the value of the Attribute from a CMxVariant **Syntax** ```csharp public void Set(CMxVariant val); ``` **Parameters** **`val`** [in] CMxVariant value to be set. ### SetDataType Method Provides a method to set the MxDataType of the Attribute. **Syntax** ```csharp public void SetDataType(MxDataType dtype); ``` **Parameters** **`dtype`** [in] MxDataType value to be set. ## CMxVariant Operator Overloads ### CMxValue Operator Overload CMxVariant Provides an operator that converts from CMxVariant to CMxValue. **Syntax** ```csharp public static implicit operator CMxValue(CMxVariant val); ``` **Parameters** **`val`** [in] CMxVariant value to convert to CMxValue. **Returns** CMxValue ### CMxVariant Operator Overload CMxValue Provides an operator that converts from CMxValue to CMxVariant. **Syntax** ```csharp public static implicit operator CMxVariant(CMxValue val); ``` **Parameters** **`val`** [in] CMxValue value to convert to CMxVariant. **Returns** CMxVariant