# CMxReferenceArray Class Namespace: `ArchestrA.Toolkit` CMxReferenceArray is derived from CMxArray and provides support for Reference Array Attributes. **Syntax** ```csharp public class CMxReferenceArray : CMxArray ``` ## CMxReferenceArray Properties ### Value Property Provides a property to get or set the value as a string array. **Syntax** ```csharp public string[] Value { get; set; } ``` **Returns** string[ ] ### Property to Get and Set an Element using the [ ] Operator Provides a property to get or set the string value of an element using [ ] operator. **Syntax** ```csharp public string this[short i] { get; set; } ``` **Returns** string ## CMxReferenceArray Constructors ### CMxReferenceArray Constructor int Provides a constructor to initialize the array to a default length. **Syntax** ```csharp public CMxReferenceArray(int length); ``` **Parameters** **`length`** [in] int value that holds the array length. ### CMxReferenceArray Constructor string[ ] Provides a constructor to initialize the class with a string array default value. **Syntax** ```csharp public CMxReferenceArray (string[] value); ``` **Parameters** **`value`** [in] string[ ]. ### CMxReferenceArray Constructor SupportWrapper, string Provides a constructor to initialize the class for use in a primitive wrapper. **Syntax** ```csharp public CMxReferenceArray (SupportWrapper _wrapper, string _attributeRef); ``` **Parameters** **`_wrapper`** [in] SupportWrapper. **`_attributeRef`** [in] int value that holds the array length. ## CMxReferenceArray Method ### Set Method Provides a method to set the value of the Attribute from a CMxReferenceArray. **Syntax** ```csharp public void Set(CMxReferenceArray newValue); ``` **Parameters** **`newValue`** [in] CMxReferenceArray instance value. ## CMxReferenceArray Operator Overloads ### CMxReferenceArray Operator Overload string[ ] Provides an operator that converts from string array to CMxReferenceArray. **Syntax** ```csharp public static implicit operator CMxReferenceArray(string [] val); ``` **Parameters** **`val`** [in] string [ ]. **Returns** CMxReferenceArray ### CMxValue Operator Overload Provides an operator that converts from CMxReferenceArray to CMxValue. **Syntax** ```csharp public static implicit operator CMxValue(CMxReferenceArray val); ``` **Parameters** **`val`** [in] CMxReferenceArray instance value. **Returns** CMxValue ### String[ ] Operator Overload Provides an operator that converts from CMxReferenceArray to string array. **Syntax** ```csharp public static implicit operator string [](CMxReferenceArray val); ``` **Parameters** **`val`** [in] CMxReferenceArray instance value. **Returns** string [ ] ### CMxReferenceArray Operator Overload CMxValue Provides an operator that converts from CMxValue to CMxReferenceArray. **Syntax** ```csharp public static implicit operator CMxReferenceArray (CMxValue val); ``` **Parameters** **`val`** [in] CMxValue instance value. **Returns** CMxReferenceArray