Files
wwtools/aot/reference/CMxCustomEnumArray.md
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

270 lines
4.7 KiB
Markdown

# CMxCustomEnumArray Class
Namespace: `ArchestrA.Toolkit`
CMxCustomEnumArray is derived from CMxArray and provides support for Enum Array Attributes.
**Syntax**
```csharp
public class CMxCustomEnumArray : CMxArray<short>
```
## CMxCustomEnumArray Properties
### Text Property
Provides an EnumText to allow accessing elements as strings.
**Syntax**
```csharp
public EnumText Text;
```
**Returns**
EnumText
### Value Property
Provides a property to get and set the values of the ordinals as a short array.
**Syntax**
```csharp
public short[] Value { get; set; }
```
**Returns**
short[ ]
### Property to get and set the value of an ordinal
Provides a property to get and set the value of an ordinal element by short index.
**Syntax**
```csharp
public short this[short i] { get; set; }
```
**Returns**
short
## CMxCustomEnumArray Constructors
### CMxCustomEnumArray Constructor (string, int, short[ ])
Provides a constructor to initialize the class with the name of an array, its depth relative to the owning object and an array of ordinals as short.
**Syntax**
```csharp
public CMxCustomEnumArray(string arrayAttribute, int depth, short[] value);
```
**Parameters**
**`arrayAttribute`**
[in] string value that holds the name of the string array attribute.
**`depth`**
[in] int value that holds the relative depth of the string array attribute primitive.
The depth assigned to the reference determines the location of the String Array reference (0 represents the local Primitive, -1 represents the Parent, -2 represents the Parents Parent and so on.)
**`value`**
[in] short[ ] value that holds the ordinal values.
### CMxCustomEnumArray Constructor (string, int, int)
Provides a constructor to initialize the class with the name of an array, its depth relative to the owning object and the default length.
**Syntax**
```csharp
public CMxCustomEnumArray(string arrayAttribute, int depth, int length);
```
**Parameters**
**`arrayAttribute`**
[in] string value that holds the name of the string array attribute.
**`depth`**
[in] int value that holds the relative depth of the string array attribute primitive.
The depth assigned to the reference determines the location of the String Array reference (0 represents the local Primitive, -1 represents the Parent, -2 represents the Parents Parent and so on.)
**`length`**
[in] int value that holds the array length.
### CMxCustomEnumArray Constructor (SupportWrapper, string)
Provides a constructor to initialize the class for use in a primitive wrapper.
**Syntax**
```csharp
public CMxCustomEnumArray(SupportWrapper _wrapper, string _attributeRef);
```
**Parameters**
**`_wrapper`**
[in] SupportWrapper.
**`_attributeRef`**
[in] string value that holds the attribute reference.
## CMxCustomEnumArray Methods
### GetString Method
Provides a method to get the value of an element from an ordinal as a short.
**Syntax**
```csharp
public string GetString(short i);
```
**Parameters**
**`i`**
[in] short value that holds the index.
**Returns**
string
### SetString Method
Provides a method to set the value of an element from a string.
**Syntax**
```csharp
public void SetString(short i, string value);
```
**Parameters**
**`i`**
[in] short value that holds the index.
**`value`**
[in] string value to be set.
### Set Method
Provides a method to set the value of the Attribute from a CMxCustomEnumArray.
**Syntax**
```csharp
public void Set(CMxCustomEnumArray newValue);
```
**Parameters**
**`newValue`**
[in] CMxCustomEnumArray value to be set.
## CMxCustomEnumArray Operator Overloads
### CMxCustomEnumArray Operator Overload (short[ ])
Provides an operator to convert a short array into a CMxCustomEnumArray.
**Syntax**
```csharp
public static implicit operator CMxCustomEnumArray(short[] val);
```
**Parameters**
**`val`**
[in] short[ ] value to convert to CMxCustomEnumArray.
**Returns**
CMxCustomEnumArray
### CMxValue Operator Overload
Provides an operator to convert a CMxCustomEnumArray into CMxValue.
**Syntax**
```csharp
public static implicit operator CMxValue(CMxCustomEnumArray val);
```
**Parameters**
**`val`**
[in] CMxCustomEnumArray value to convert to CMxValue.
**Returns**
CMxValue
### Short Operator Overload
Provide an operator to convert a CMxCustomEnumArray into a short array.
**Syntax**
```csharp
public static implicit operator short[](CMxCustomEnumArray val);
```
**Parameters**
**`val`**
[in] CMxCustomEnumArray value to convert to short[ ].
**Returns**
short[ ]
### CMxCustomEnumArray Operator Overload
Provides a operator to convert a CMxValue into a CMxCustomEnumArray.
**Syntax**
```csharp
public static implicit operator CMxCustomEnumArray(CMxValue val);
```
**Parameters**
**`val`**
[in] CMxValue value to convert to CMxCustomEnumArray.
**Returns**
CMxCustomEnumArray