# 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<MxCustomStruct>
```

## 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
