# OpcReadNode Members

> Reference: Defines a single command of the IOpcReadNodesService.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcReadNode</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>

Inherits members from [OpcNodeAttributeServiceCommand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcnodeattributeservicecommand/members), [OpcNodeServiceCommand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcnodeservicecommand/members), [OpcServiceCommand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicecommand/members).

## Constructors

### OpcReadNode

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

| Overload | Description |
|---|---|
| [OpcReadNode(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-opc-uafx-opcnodeid) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| [OpcReadNode(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-string) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| [OpcReadNode(int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-int32) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| [OpcReadNode(string, int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-string-system-int32) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| [OpcReadNode(int, int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-int32-system-int32) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| [OpcReadNode(OpcNodeId, OpcAttribute)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-opc-uafx-opcnodeid-opc-uafx-opcattribute) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute`. |
| [OpcReadNode(string, OpcAttribute)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-string-opc-uafx-opcattribute) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute`. |
| [OpcReadNode(int, OpcAttribute)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-int32-opc-uafx-opcattribute) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute`. |
| [OpcReadNode(string, int, OpcAttribute)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-string-system-int32-opc-uafx-opcattribute) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the `attribute`. |
| [OpcReadNode(int, int, OpcAttribute)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-int32-system-int32-opc-uafx-opcattribute) | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the `attribute`. |
| [OpcReadNode(OpcNodeId, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-opc-uafx-opcnodeid-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`. |
| [OpcReadNode(string, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-string-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`. |
| [OpcReadNode(int, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-int32-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`. |
| [OpcReadNode(string, int, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-string-system-int32-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`. |
| [OpcReadNode(int, int, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-int32-system-int32-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`. |
| [OpcReadNode(OpcNodeId, OpcAttribute, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute` according to the `range`. |
| [OpcReadNode(string, OpcAttribute, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-string-opc-uafx-opcattribute-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute` according to the `range`. |
| [OpcReadNode(int, OpcAttribute, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-int32-opc-uafx-opcattribute-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute` according to the `range`. |
| [OpcReadNode(string, int, OpcAttribute, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-string-system-int32-opc-uafx-opcattribute-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the `attribute` according to the `range`. |
| [OpcReadNode(int, int, OpcAttribute, OpcRange)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/members#opcreadnode-system-int32-system-int32-opc-uafx-opcattribute-opc-uafx-opcrange)<span class="api-meta">since v2.24</span> | Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the `attribute` according to the `range`. |

#### OpcReadNode(OpcNodeId)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute.

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

```csharp
public OpcReadNode(OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Sub New(nodeId As OpcNodeId)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the node on which the service will read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The command does not support empty node identifiers. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcReadNode(string)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute.

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

```csharp
public OpcReadNode(string nodeId)
```

</div>

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

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

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual node identifier of the node on which the service, who will execute this command, will operate on its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |

#### OpcReadNode(int)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute.

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

```csharp
public OpcReadNode(int nodeId)
```

</div>

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

```vbnet
Public Sub New(nodeId As Integer)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric node identifier of the node on which the service, who will execute this command, will operate on its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |

#### OpcReadNode(string, int)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute.

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

```csharp
public OpcReadNode(string nodeId, int namespaceIndex)
```

</div>

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

```vbnet
Public Sub New(nodeId As String, namespaceIndex As Integer)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual node identifier of the node on which the service, who will execute this command, will operate on its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace within that the node with the `nodeId` specified can be located. |

#### OpcReadNode(int, int)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute.

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

```csharp
public OpcReadNode(int nodeId, int namespaceIndex)
```

</div>

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

```vbnet
Public Sub New(nodeId As Integer, namespaceIndex As Integer)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric node identifier of the node on which the service, who will execute this command, will operate on its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace within that the node with the `nodeId` specified can be located. |

#### OpcReadNode(OpcNodeId, OpcAttribute)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute`.

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

```csharp
public OpcReadNode(OpcNodeId nodeId, OpcAttribute attribute)
```

</div>

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

```vbnet
Public Sub New(nodeId As OpcNodeId, attribute As OpcAttribute)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the node on which the service will read the `attribute`. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The command does not support empty node identifiers. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcReadNode(string, OpcAttribute)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute`.

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

```csharp
public OpcReadNode(string nodeId, OpcAttribute attribute)
```

</div>

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

```vbnet
Public Sub New(nodeId As String, attribute As OpcAttribute)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual node identifier of the node on which the service, who will execute this command, will operate on its `attribute`. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |

#### OpcReadNode(int, OpcAttribute)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute`.

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

```csharp
public OpcReadNode(int nodeId, OpcAttribute attribute)
```

</div>

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

```vbnet
Public Sub New(nodeId As Integer, attribute As OpcAttribute)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric node identifier of the node on which the service, who will execute this command, will operate on its `attribute`. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |

#### OpcReadNode(string, int, OpcAttribute)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the `attribute`.

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

```csharp
public OpcReadNode(string nodeId, int namespaceIndex, OpcAttribute attribute)
```

</div>

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

```vbnet
Public Sub New(
    nodeId As String,
    namespaceIndex As Integer,
    attribute As OpcAttribute)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual node identifier of the node on which the service, who will execute this command, will operate on its `attribute`. |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace within that the node with the `nodeId` specified can be located. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |

#### OpcReadNode(int, int, OpcAttribute)

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the `attribute`.

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

```csharp
public OpcReadNode(int nodeId, int namespaceIndex, OpcAttribute attribute)
```

</div>

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

```vbnet
Public Sub New(
    nodeId As Integer,
    namespaceIndex As Integer,
    attribute As OpcAttribute)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric node identifier of the node on which the service, who will execute this command, will operate on its `attribute`. |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace within that the node with the `nodeId` specified can be located. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |

#### OpcReadNode(OpcNodeId, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`.

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

```csharp
public OpcReadNode(OpcNodeId nodeId, OpcRange range)
```

</div>

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

```vbnet
Public Sub New(nodeId As OpcNodeId, range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the node on which the service will read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The command does not support empty node identifiers. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcReadNode(string, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`.

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

```csharp
public OpcReadNode(string nodeId, OpcRange range)
```

</div>

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

```vbnet
Public Sub New(nodeId As String, range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual node identifier of the node on which the service, who will execute this command, will operate on its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

#### OpcReadNode(int, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`.

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

```csharp
public OpcReadNode(int nodeId, OpcRange range)
```

</div>

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

```vbnet
Public Sub New(nodeId As Integer, range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric node identifier of the node on which the service, who will execute this command, will operate on its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

#### OpcReadNode(string, int, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`.

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

```csharp
public OpcReadNode(string nodeId, int namespaceIndex, OpcRange range)
```

</div>

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

```vbnet
Public Sub New(nodeId As String, namespaceIndex As Integer, range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual node identifier of the node on which the service, who will execute this command, will operate on its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace within that the node with the `nodeId` specified can be located. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

#### OpcReadNode(int, int, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute according to the `range`.

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

```csharp
public OpcReadNode(int nodeId, int namespaceIndex, OpcRange range)
```

</div>

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

```vbnet
Public Sub New(nodeId As Integer, namespaceIndex As Integer, range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric node identifier of the node on which the service, who will execute this command, will operate on its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute. |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace within that the node with the `nodeId` specified can be located. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

#### OpcReadNode(OpcNodeId, OpcAttribute, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute` according to the `range`.

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

```csharp
public OpcReadNode(OpcNodeId nodeId, OpcAttribute attribute, OpcRange range)
```

</div>

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

```vbnet
Public Sub New(
    nodeId As OpcNodeId,
    attribute As OpcAttribute,
    range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the node on which the service will read the `attribute`. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The command does not support empty node identifiers. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcReadNode(string, OpcAttribute, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute` according to the `range`.

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

```csharp
public OpcReadNode(string nodeId, OpcAttribute attribute, OpcRange range)
```

</div>

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

```vbnet
Public Sub New(nodeId As String, attribute As OpcAttribute, range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual node identifier of the node on which the service, who will execute this command, will operate on its `attribute`. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

#### OpcReadNode(int, OpcAttribute, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` to read the `attribute` according to the `range`.

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

```csharp
public OpcReadNode(int nodeId, OpcAttribute attribute, OpcRange range)
```

</div>

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

```vbnet
Public Sub New(nodeId As Integer, attribute As OpcAttribute, range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric node identifier of the node on which the service, who will execute this command, will operate on its `attribute`. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

#### OpcReadNode(string, int, OpcAttribute, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the `attribute` according to the `range`.

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

```csharp
public OpcReadNode(
    string nodeId,
    int namespaceIndex,
    OpcAttribute attribute,
    OpcRange range)
```

</div>

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

```vbnet
Public Sub New(
    nodeId As String,
    namespaceIndex As Integer,
    attribute As OpcAttribute,
    range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The textual node identifier of the node on which the service, who will execute this command, will operate on its `attribute`. |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace within that the node with the `nodeId` specified can be located. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

#### OpcReadNode(int, int, OpcAttribute, OpcRange)

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

Initializes a new instance of the [OpcReadNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadnode/) class using the specified `nodeId` and `namespaceIndex` to read the `attribute` according to the `range`.

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

```csharp
public OpcReadNode(
    int nodeId,
    int namespaceIndex,
    OpcAttribute attribute,
    OpcRange range)
```

</div>

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

```vbnet
Public Sub New(
    nodeId As Integer,
    namespaceIndex As Integer,
    attribute As OpcAttribute,
    range As OpcRange)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric node identifier of the node on which the service, who will execute this command, will operate on its `attribute`. |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace within that the node with the `nodeId` specified can be located. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration that defines which node attribute is to be used by the service. |
| `range` | [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) | The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) to use to identify the single element or range of elements to read. |

## Properties

### Range

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

Gets the [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) used to identify a single element or range of elements in the [Attribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcnodeattributeservicecommand/members#attribute).

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

```csharp
public OpcRange Range { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Range As OpcRange
```

</div>

**Property value**

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

The [OpcRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/) used to identify a single element of an array or a single range of indexes for arrays. If a range of elements is specified, the values are returned as a composite. The first element is identified by index zero. If the specified [Attribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcnodeattributeservicecommand/members#attribute) is an array and this property is equals [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrange/members#empty), then all elements are to be included in the range.
