# OpcArgument Members

> Reference: Describes an argument used by a method either as an input or an output argument.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcArgument</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx">Opc.UaFx</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

## Constructors

### OpcArgument

<span class="api-meta">22 overloads</span>

| Overload | Description |
|---|---|
| [OpcArgument(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string) | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` of the argument to define an argument of the type [object](https://learn.microsoft.com/dotnet/api/system.object). |
| [OpcArgument(string, OpcDataType)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcdatatype)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataType` of argument to define. |
| [OpcArgument(string, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcnodeid)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataTypeId` of argument to define. |
| [OpcArgument(string, OpcDataType, bool)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcdatatype-system-boolean)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataType` of argument to define. |
| [OpcArgument(string, OpcDataType, params uint\[\])](#opcargument-system-string-opc-uafx-opcdatatype-system-uint32-array)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataType` of argument to define. |
| [OpcArgument(string, OpcNodeId, bool)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcnodeid-system-boolean)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataTypeId` of argument to define. |
| [OpcArgument(string, OpcNodeId, params uint\[\])](#opcargument-system-string-opc-uafx-opcnodeid-system-uint32-array)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataTypeId` of argument to define. |
| [OpcArgument(string, OpcDataType, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcdatatype-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType` and `description` of the argument to define. |
| [OpcArgument(string, OpcNodeId, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcnodeid-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId` and `description` of the argument to define. |
| [OpcArgument(string, OpcDataType, bool, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcdatatype-system-boolean-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType` and `description` of the argument to define. |
| [OpcArgument(string, OpcDataType, uint\[\], string)](#opcargument-system-string-opc-uafx-opcdatatype-system-uint32-array-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType` and `description` of the argument to define. |
| [OpcArgument(string, OpcNodeId, bool, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcnodeid-system-boolean-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId` and `description` of the argument to define. |
| [OpcArgument(string, OpcNodeId, uint\[\], string)](#opcargument-system-string-opc-uafx-opcnodeid-system-uint32-array-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId` and `description` of the argument to define. |
| [OpcArgument(string, OpcDataType, object, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcdatatype-system-object-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType`, `defaultValue` and `description` of the argument to define. |
| [OpcArgument(string, OpcNodeId, object, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcnodeid-system-object-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId`, `defaultValue` and `description` of the argument to define. |
| [OpcArgument(string, OpcDataType, bool, object, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcdatatype-system-boolean-system-object-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType`, `defaultValue` and `description` of the argument to define. |
| [OpcArgument(string, OpcDataType, uint\[\], object, string)](#opcargument-system-string-opc-uafx-opcdatatype-system-uint32-array-system-object-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType`, `defaultValue` and `description` of the argument to define. |
| [OpcArgument(string, OpcNodeId, bool, object, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-opc-uafx-opcnodeid-system-boolean-system-object-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId`, `defaultValue` and `description` of the argument to define. |
| [OpcArgument(string, OpcNodeId, uint\[\], object, string)](#opcargument-system-string-opc-uafx-opcnodeid-system-uint32-array-system-object-system-string)<span class="api-meta">since v2.9</span> | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId`, `defaultValue` and `description` of the argument to define. |
| [OpcArgument(string, Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-system-type) | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `type` of argument to define. |
| [OpcArgument(string, Type, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-system-type-system-string) | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `type` and `description` of the argument to define. |
| [OpcArgument(string, Type, object, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#opcargument-system-string-system-type-system-object-system-string) | Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `type`, `defaultValue` and `description` of the argument to define. |

#### OpcArgument(string)

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` of the argument to define an argument of the type [object](https://learn.microsoft.com/dotnet/api/system.object).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |

#### OpcArgument(string, OpcDataType)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataType` of argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name, OpcDataType dataType)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String, dataType As OpcDataType)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |

#### OpcArgument(string, OpcNodeId)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataTypeId` of argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name, OpcNodeId dataTypeId)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String, dataTypeId As OpcNodeId)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, OpcDataType, bool)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataType` of argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name, OpcDataType dataType, bool isArray)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String, dataType As OpcDataType, isArray As Boolean)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |
| `isArray` | [Boolean](https://learn.microsoft.com/dotnet/api/system.boolean) | The value true, if the argument shall be an array; otherwise the value false. |

#### OpcArgument(string, OpcDataType, params uint\[\])

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataType` of argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcDataType dataType,
    params uint[] arrayDimensions)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataType As OpcDataType,
    ParamArray arrayDimensions As UInteger())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |
| `arrayDimensions` | params [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)[] | The length for each dimension of an array value of the argument represented. |

#### OpcArgument(string, OpcNodeId, bool)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataTypeId` of argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name, OpcNodeId dataTypeId, bool isArray)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String, dataTypeId As OpcNodeId, isArray As Boolean)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |
| `isArray` | [Boolean](https://learn.microsoft.com/dotnet/api/system.boolean) | The value true, if the argument shall be an array; otherwise the value false. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, OpcNodeId, params uint\[\])

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `dataTypeId` of argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcNodeId dataTypeId,
    params uint[] arrayDimensions)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataTypeId As OpcNodeId,
    ParamArray arrayDimensions As UInteger())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |
| `arrayDimensions` | params [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)[] | The length for each dimension of an array value of the argument represented. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, OpcDataType, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name, OpcDataType dataType, string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String, dataType As OpcDataType, description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

#### OpcArgument(string, OpcNodeId, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name, OpcNodeId dataTypeId, string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String, dataTypeId As OpcNodeId, description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, OpcDataType, bool, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcDataType dataType,
    bool isArray,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataType As OpcDataType,
    isArray As Boolean,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |
| `isArray` | [Boolean](https://learn.microsoft.com/dotnet/api/system.boolean) | The value true, if the argument shall be an array; otherwise the value false. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

#### OpcArgument(string, OpcDataType, uint\[\], string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcDataType dataType,
    uint[] arrayDimensions,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataType As OpcDataType,
    arrayDimensions As UInteger(),
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |
| `arrayDimensions` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)[] | The length for each dimension of an array value of the argument represented. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

#### OpcArgument(string, OpcNodeId, bool, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcNodeId dataTypeId,
    bool isArray,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataTypeId As OpcNodeId,
    isArray As Boolean,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |
| `isArray` | [Boolean](https://learn.microsoft.com/dotnet/api/system.boolean) | The value true, if the argument shall be an array; otherwise the value false. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, OpcNodeId, uint\[\], string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcNodeId dataTypeId,
    uint[] arrayDimensions,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataTypeId As OpcNodeId,
    arrayDimensions As UInteger(),
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |
| `arrayDimensions` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)[] | The length for each dimension of an array value of the argument represented. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, OpcDataType, object, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType`, `defaultValue` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcDataType dataType,
    object defaultValue,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataType As OpcDataType,
    defaultValue As Object,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |
| `defaultValue` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The value used in case there is no custom value specified for the argument. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

#### OpcArgument(string, OpcNodeId, object, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId`, `defaultValue` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcNodeId dataTypeId,
    object defaultValue,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataTypeId As OpcNodeId,
    defaultValue As Object,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |
| `defaultValue` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The value used in case there is no custom value specified for the argument. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, OpcDataType, bool, object, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType`, `defaultValue` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcDataType dataType,
    bool isArray,
    object defaultValue,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataType As OpcDataType,
    isArray As Boolean,
    defaultValue As Object,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |
| `isArray` | [Boolean](https://learn.microsoft.com/dotnet/api/system.boolean) | The value true, if the argument shall be an array; otherwise the value false. |
| `defaultValue` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The value used in case there is no custom value specified for the argument. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

#### OpcArgument(string, OpcDataType, uint\[\], object, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataType`, `defaultValue` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcDataType dataType,
    uint[] arrayDimensions,
    object defaultValue,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataType As OpcDataType,
    arrayDimensions As UInteger(),
    defaultValue As Object,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataType` | [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) | One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enum to use to define the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) and [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid) of the argument to define. |
| `arrayDimensions` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)[] | The length for each dimension of an array value of the argument represented. |
| `defaultValue` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The value used in case there is no custom value specified for the argument. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

#### OpcArgument(string, OpcNodeId, bool, object, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId`, `defaultValue` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcNodeId dataTypeId,
    bool isArray,
    object defaultValue,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataTypeId As OpcNodeId,
    isArray As Boolean,
    defaultValue As Object,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |
| `isArray` | [Boolean](https://learn.microsoft.com/dotnet/api/system.boolean) | The value true, if the argument shall be an array; otherwise the value false. |
| `defaultValue` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The value used in case there is no custom value specified for the argument. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, OpcNodeId, uint\[\], object, string)

<span class="api-meta">since v2.9</span>

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `dataTypeId`, `defaultValue` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    OpcNodeId dataTypeId,
    uint[] arrayDimensions,
    object defaultValue,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    dataTypeId As OpcNodeId,
    arrayDimensions As UInteger(),
    defaultValue As Object,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `dataTypeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier ([DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatypeid)) of the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#datatype) to use for the argument to define. |
| `arrayDimensions` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)[] | The length for each dimension of an array value of the argument represented. |
| `defaultValue` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The value used in case there is no custom value specified for the argument. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `dataTypeId` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, Type)

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name` and `type` of argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name, Type type)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String, type As Type)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `type` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The [Type](https://learn.microsoft.com/dotnet/api/system.type) of argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `type` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, Type, string)

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `type` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(string name, Type type, string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(name As String, type As Type, description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `type` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The [Type](https://learn.microsoft.com/dotnet/api/system.type) of argument. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `type` is a null reference (Nothing in Visual Basic). |

#### OpcArgument(string, Type, object, string)

Initializes a new instance of the [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) class using the `name`, `type`, `defaultValue` and `description` of the argument to define.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgument(
    string name,
    Type type,
    object defaultValue,
    string description)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    name As String,
    type As Type,
    defaultValue As Object,
    description As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the argument. |
| `type` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The [Type](https://learn.microsoft.com/dotnet/api/system.type) of argument. |
| `defaultValue` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The value used in case there is no custom value specified for the argument. |
| `description` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual description of the use of the argument. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `type` is a null reference (Nothing in Visual Basic). |

## Properties

### ArrayDimensions

<span class="api-meta">since v2.8</span>

Gets the length for each dimension of an array value of the argument represented.

<div class="api-signature" data-lang="csharp">

```csharp
public uint[] ArrayDimensions { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property ArrayDimensions As UInteger()
```

</div>

**Property value**

[UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)[]

An empty array in case there the value of the argument represented is a scalar value; otherwise an [uint](https://learn.microsoft.com/dotnet/api/system.uint32) array there each entry indicates a single dimension while the value of the entry defines the length of that dimension or a null reference (Nothing in Visual Basic) if [ArrayRank](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#arrayrank) is less or equals zero.

### ArrayLength

<span class="api-meta">since v2.8</span>

Gets the total number of elements in all the dimensions of the array value of the argument represented.

<div class="api-signature" data-lang="csharp">

```csharp
public long ArrayLength { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property ArrayLength As Long
```

</div>

**Property value**

[Int64](https://learn.microsoft.com/dotnet/api/system.int64)

The total number of elements in all the dimensions of the array value of the argument represented; zero if there are no elements in the array.

### ArrayRank

<span class="api-meta">since v2.8</span>

Gets the rank (number of dimensions) of the array value of the argument represented. For example, a one-dimensional array returns 1, a two-dimensional array returns 2, and so on.

<div class="api-signature" data-lang="csharp">

```csharp
public int ArrayRank { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property ArrayRank As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The rank (number of dimensions) of the array value of the argument represented.

### DataType

Gets the underlying built-in data type used by the argument.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcDataType DataType { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DataType As OpcDataType
```

</div>

**Property value**

[OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/)

One of the members defined by the [OpcDataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatype/) enumeration which defines the data type of the argument.

### DataTypeId

Gets the node identifier of the data type node identifying the type of argument.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcNodeId DataTypeId { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DataTypeId As OpcNodeId
```

</div>

**Property value**

[OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/)

An instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) which identifies the data type node representing the type of argument.

### DefaultValue

Gets the value of the argument that is by default used in case there is no custom value specified for the argument.

<div class="api-signature" data-lang="csharp">

```csharp
public object DefaultValue { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DefaultValue As Object
```

</div>

**Property value**

[Object](https://learn.microsoft.com/dotnet/api/system.object)

The default value used by argument by definition.

### Description

Gets the textual description of the use of the argument represented.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcText Description { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property Description As OpcText
```

</div>

**Property value**

[OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/)

A string which describes the use of the argument.

### Descriptions

<span class="api-meta">since v2.12</span>

Gets the [OpcArgumentGlobalization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargumentglobalization/) instance used to control the localization and other globalization related tasks for the [Description](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#description) of the current attribute.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcArgumentGlobalization Descriptions { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property Descriptions As OpcArgumentGlobalization
```

</div>

**Property value**

[OpcArgumentGlobalization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargumentglobalization/)

An instance of the [OpcArgumentGlobalization](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargumentglobalization/) class used for the current [OpcArgument](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/) to perform localization tasks for its [Description](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#description).

### IsArray

<span class="api-meta">since v2.8</span>

Gets a value indicating whether the value of the argument represented is an array.

<div class="api-signature" data-lang="csharp">

```csharp
public bool IsArray { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property IsArray As Boolean
```

</div>

**Property value**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the value of the argument represented is an array; otherwise the false.

### Name

Gets the name of the argument.

<div class="api-signature" data-lang="csharp">

```csharp
public string Name { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property Name As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

A value which identifies the argument using a simple name.

**Remarks**

The [string](https://learn.microsoft.com/dotnet/api/system.string) used as the name of the argument does not rely on any naming-rules which typically apply to names in programming languages. Therefore it is possible to use whitespaces and special characters as well. There exists no restriction regarding the naming of an argument.

## Methods

### GetArrayLength

<span class="api-meta">since v2.8</span>

Gets a 32-bit integer that represents the number of elements in the specified dimension of the array value of the argument.

<div class="api-signature" data-lang="csharp">

```csharp
public long GetArrayLength(int dimension)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function GetArrayLength(dimension As Integer) As Long
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `dimension` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | A zero-based dimension of the array value whose length needs to be determined. |

**Returns**

[Int64](https://learn.microsoft.com/dotnet/api/system.int64)

A 32-bit integer that represents the number of elements in the specified dimension of the array value.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentOutOfRangeException](https://learn.microsoft.com/dotnet/api/system.argumentoutofrangeexception) | The `dimension` is less than zero or equals to or greater than [ArrayRank](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#arrayrank). |
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The value of the argument represented is not an array (see [IsArray](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#isarray)). |

### GetArrayLowerBound

<span class="api-meta">since v2.8</span>

Gets the index of the first element of the specified dimension in the array value of the argument.

<div class="api-signature" data-lang="csharp">

```csharp
public long GetArrayLowerBound(int dimension)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function GetArrayLowerBound(dimension As Integer) As Long
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `dimension` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | A zero-based dimension of the array value whose starting index needs to be determined. |

**Returns**

[Int64](https://learn.microsoft.com/dotnet/api/system.int64)

The index of the first element of the specified dimension in the array value.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentOutOfRangeException](https://learn.microsoft.com/dotnet/api/system.argumentoutofrangeexception) | The `dimension` is less than zero or equals to or greater than [ArrayRank](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#arrayrank). |
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The value of the argument represented is not an array (see [IsArray](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#isarray)). |

### GetArrayUpperBound

<span class="api-meta">since v2.8</span>

Gets the index of the last element of the specified dimension in the array value of the argument.

<div class="api-signature" data-lang="csharp">

```csharp
public long GetArrayUpperBound(int dimension)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function GetArrayUpperBound(dimension As Integer) As Long
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `dimension` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | A zero-based dimension of the array value whose upper bound needs to be determined. |

**Returns**

[Int64](https://learn.microsoft.com/dotnet/api/system.int64)

The index of the last element of the specified dimension in the array value, or -1 if the specified dimension is empty.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentOutOfRangeException](https://learn.microsoft.com/dotnet/api/system.argumentoutofrangeexception) | The `dimension` is less than zero or equals to or greater than [ArrayRank](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#arrayrank). |
| [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception) | The value of the argument represented is not an array (see [IsArray](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcargument/members#isarray)). |
