# CMxCustomStructArray Class Namespace: `ArchestrA.Toolkit` CMxCustomStructArray is derived from CMxArray and provides support for an array of custom data in the form of a guid and byte array. **Syntax** ```csharp public class CMxCustomStructArray : CMxArray ``` ## CMxCustomStructArray Properties ### Value Property Provides a property to get and set the value as an MxCustomStruct array. **Syntax** ```csharp public MxCustomStruct[] Value { get; set; } ``` **Returns** MxCustomStruct[ ] ### Property to get and set value as a MxCustomStruct Provides a property to get and set the value of an element as an MxCustomStruct. **Syntax** ```csharp public MxCustomStruct this[short i] { get; set; } ``` **Returns** MxCustomStruct ## CMxCustomStructArray Constructors ### CMxCustomStructArray Constructor (int) Provides a constructor to initialize the CustomStructArray with a length. **Syntax** ```csharp public CMxCustomStructArray(int length); ``` **Parameters** **`length`** [in] int value that holds the length of the array. ### CMxCustomStructArray Constructor (int, int) Provides a constructor to initialize CustomStructArray with an ID and length. **Syntax** ```csharp public CMxCustomStructArray(int id, int length); ``` **Parameters** **`id`** [in] int value that holds the ID. **`length`** [in] int value that holds the array length. ### CMxCustomStructArray Constructor (MxCustomStruct[ ]) Provides a constructor to initialize CustomStructArray with an array of MxCustomStruct. **Syntax** ```csharp public CMxCustomStructArray(MxCustomStruct[] value); ``` **Parameters** **`value`** [in] MxCustomStruct[ ] value to be set. ### CMxCustomStructArray Constructor (SupportWrapper, string) Provides a constructor to initialize the class for use in a primitive wrapper. **Syntax** ```csharp public CMxCustomStruct(SupportWrapper _wrapper, string _attributeRef); ``` **Parameters** **`_wrapper`** [in] SupportWrapper. **`_attributeRef`** [in] string value that holds the attribute reference. ## CMxCustomStructArray Method ### Set Method Provides a method to set the value of the Attribute from a CMxCustomStructArray. **Syntax** ```csharp public void Set(CMxCustomStructArray newValue);’ ``` **Parameters** **`newValue`** [in] CMxCustomStructArray value to be set. ## CMxCustomStructArray Operator Overloads ### CMxValue Operator Overload Provides an operator to convert a CMxCustomStructArray into a CMxValue. **Syntax** ```csharp public static implicit operator CMxValue(CMxCustomStructArray val); ``` **Parameters** **`val`** [in] CMxCustomStructArray value to convert to CMxValue. **Returns** CMxValue ### MxCustomStruct [ ]Operator Overload Provides an operator to convert a CMxCustomStructArray into a MxCustomStruct array. **Syntax** ```csharp public static implicit operator MxCustomStruct[] (CMxCustomStructArray val); ``` **Parameters** **`val`** [in] CMxCustomStructArray value to convert to MxCustomStruct[ ]. **Returns** MxCustomStruct[ ] ### CMxCustomStructArray Operator Overload Provides an operator to convert a CMxValue into a CMxCustomStructArray. **Syntax** ```csharp public static implicit operator CMxCustomStructArray(CMxValue val); ``` **Parameters** **`val`** [in] CMxValue value to convert to CMxCustomStructArray. **Returns** CMxCustomStructArray ### CMxCustomStructArray Operator Overload Provides an operator to convert a MxCustomStruct array into a CMxCustomStructArray. **Syntax** ```csharp public static implicit operator CMxCustomStructArray(MxCustomStruct[] val); ``` **Parameters** **`val`** [in] MxCustomStruct[ ] value to convert to CMxCustomStructArray. **Returns** CMxCustomStructArray