# OpcNodeId Members

> Reference: Defines an identifier for a node in the address space of an OPC UA Server.

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

### OpcNodeId

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

| Overload | Description |
|---|---|
| [OpcNodeId(byte\[\])](#opcnodeid-system-byte-array) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified. |
| [OpcNodeId(byte\[\], int)](#opcnodeid-system-byte-array-system-int32) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified. |
| [OpcNodeId(byte\[\], OpcNamespace)](#opcnodeid-system-byte-array-opc-uafx-opcnamespace) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified. |
| [OpcNodeId(Guid)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-guid) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified. |
| [OpcNodeId(Guid, int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-guid-system-int32) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified. |
| [OpcNodeId(Guid, OpcNamespace)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-guid-opc-uafx-opcnamespace) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified. |
| [OpcNodeId(int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-int32) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified. |
| [OpcNodeId(int, int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-int32-system-int32) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified. |
| [OpcNodeId(int, OpcNamespace)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-int32-opc-uafx-opcnamespace) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified. |
| [OpcNodeId(uint)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-uint32) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified. |
| [OpcNodeId(uint, int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-uint32-system-int32) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified. |
| [OpcNodeId(uint, OpcNamespace)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-uint32-opc-uafx-opcnamespace) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified. |
| [OpcNodeId(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-string) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified. |
| [OpcNodeId(string, OpcNamePath)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-string-opc-uafx-opcnamepath) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `path` specified. |
| [OpcNodeId(string, params OpcName\[\])](#opcnodeid-system-string-opc-uafx-opcname-array) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `pathElements` specified. |
| [OpcNodeId(string, int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-string-system-int32) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified. |
| [OpcNodeId(string, int, OpcNamePath)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-string-system-int32-opc-uafx-opcnamepath) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value`, `namespaceIndex` and `path` specified. |
| [OpcNodeId(string, int, params OpcName\[\])](#opcnodeid-system-string-system-int32-opc-uafx-opcname-array) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value`, `namespaceIndex` and `pathElements` specified. |
| [OpcNodeId(string, OpcNamespace)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-string-opc-uafx-opcnamespace) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified. |
| [OpcNodeId(string, OpcNamespace, OpcNamePath)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-system-string-opc-uafx-opcnamespace-opc-uafx-opcnamepath) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value`, `nodeNamespace` and `path` specified. |
| [OpcNodeId(string, OpcNamespace, params OpcName\[\])](#opcnodeid-system-string-opc-uafx-opcnamespace-opc-uafx-opcname-array) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value`, `nodeNamespace` and `pathElements` specified. |
| [OpcNodeId(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#opcnodeid-opc-uafx-opcnodeid) | Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `other` specified. |

#### OpcNodeId(byte\[\])

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified.

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

```csharp
public OpcNodeId(byte[] value)
```

</div>

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

```vbnet
Public Sub New(value As Byte())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Byte](https://learn.microsoft.com/dotnet/api/system.byte)[] | The opaque value of the identifier to represent. A value equals a null reference (Nothing in Visual Basic) or an array with the length equals to zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |

#### OpcNodeId(byte\[\], int)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified.

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

```csharp
public OpcNodeId(byte[] value, int namespaceIndex)
```

</div>

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

```vbnet
Public Sub New(value As Byte(), namespaceIndex As Integer)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Byte](https://learn.microsoft.com/dotnet/api/system.byte)[] | The opaque value of the identifier to represent. A value equals a null reference (Nothing in Visual Basic) or an array with the length equals to zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace that this identifier should refer to. |

#### OpcNodeId(byte\[\], OpcNamespace)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified.

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

```csharp
public OpcNodeId(byte[] value, OpcNamespace nodeNamespace)
```

</div>

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

```vbnet
Public Sub New(value As Byte(), nodeNamespace As OpcNamespace)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Byte](https://learn.microsoft.com/dotnet/api/system.byte)[] | The opaque value of the identifier to represent. A value equals a null reference (Nothing in Visual Basic) or an array with the length equals to zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `nodeNamespace` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The namespace that this identifier should refer to. |

#### OpcNodeId(Guid)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified.

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

```csharp
public OpcNodeId(Guid value)
```

</div>

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

```vbnet
Public Sub New(value As Guid)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Guid](https://learn.microsoft.com/dotnet/api/system.guid) | The general unique identifier (= GUID) to use as the value of the identifier to represent. A value equals [Empty](https://learn.microsoft.com/dotnet/api/system.guid.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |

#### OpcNodeId(Guid, int)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified.

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

```csharp
public OpcNodeId(Guid value, int namespaceIndex)
```

</div>

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

```vbnet
Public Sub New(value As Guid, namespaceIndex As Integer)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Guid](https://learn.microsoft.com/dotnet/api/system.guid) | The general unique identifier (= GUID) to use as the value of the identifier to represent. A value equals [Empty](https://learn.microsoft.com/dotnet/api/system.guid.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace that this identifier should refer to. |

#### OpcNodeId(Guid, OpcNamespace)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified.

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

```csharp
public OpcNodeId(Guid value, OpcNamespace nodeNamespace)
```

</div>

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

```vbnet
Public Sub New(value As Guid, nodeNamespace As OpcNamespace)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Guid](https://learn.microsoft.com/dotnet/api/system.guid) | The general unique identifier (= GUID) to use as the value of the identifier to represent. A value equals [Empty](https://learn.microsoft.com/dotnet/api/system.guid.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `nodeNamespace` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The namespace that this identifier should refer to. |

#### OpcNodeId(int)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified.

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

```csharp
public OpcNodeId(int value)
```

</div>

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

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

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric value of the identifier to represent. A value equals zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |

#### OpcNodeId(int, int)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified.

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

```csharp
public OpcNodeId(int value, int namespaceIndex)
```

</div>

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

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

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric value of the identifier to represent. A value equals zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace that this identifier should refer to. |

#### OpcNodeId(int, OpcNamespace)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified.

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

```csharp
public OpcNodeId(int value, OpcNamespace nodeNamespace)
```

</div>

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

```vbnet
Public Sub New(value As Integer, nodeNamespace As OpcNamespace)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric value of the identifier to represent. A value equals zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `nodeNamespace` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The namespace that this identifier should refer to. |

#### OpcNodeId(uint)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified.

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

```csharp
public OpcNodeId(uint value)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Sub New(value As UInteger)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32) | The numeric value of the identifier to represent. A value equals zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |

#### OpcNodeId(uint, int)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified.

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

```csharp
public OpcNodeId(uint value, int namespaceIndex)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Sub New(value As UInteger, namespaceIndex As Integer)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32) | The numeric value of the identifier to represent. A value equals zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace that this identifier should refer to. |

#### OpcNodeId(uint, OpcNamespace)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified.

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

```csharp
public OpcNodeId(uint value, OpcNamespace nodeNamespace)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Sub New(value As UInteger, nodeNamespace As OpcNamespace)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32) | The numeric value of the identifier to represent. A value equals zero results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `nodeNamespace` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The namespace that this identifier should refer to. |

#### OpcNodeId(string)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` specified.

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

```csharp
public OpcNodeId(string value)
```

</div>

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

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

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |

#### OpcNodeId(string, OpcNamePath)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `path` specified.

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

```csharp
public OpcNodeId(string value, OpcNamePath path)
```

</div>

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

```vbnet
Public Sub New(value As String, path As OpcNamePath)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `path` | [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) | The logical (= physically not available in the address space) portion of the identifier. |

#### OpcNodeId(string, params OpcName\[\])

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `pathElements` specified.

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

```csharp
public OpcNodeId(string value, params OpcName[] pathElements)
```

</div>

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

```vbnet
Public Sub New(value As String, ParamArray pathElements As OpcName())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `pathElements` | params [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/)[] | The elements of the [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) to use as the logical (= physically not available in the address space) portion of the identifier. |

#### OpcNodeId(string, int)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `namespaceIndex` specified.

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

```csharp
public OpcNodeId(string value, int namespaceIndex)
```

</div>

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

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

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace that this identifier should refer to. |

#### OpcNodeId(string, int, OpcNamePath)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value`, `namespaceIndex` and `path` specified.

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

```csharp
public OpcNodeId(string value, int namespaceIndex, OpcNamePath path)
```

</div>

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

```vbnet
Public Sub New(value As String, namespaceIndex As Integer, path As OpcNamePath)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace that this identifier should refer to. |
| `path` | [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) | The logical (= physically not available in the address space) portion of the identifier. |

#### OpcNodeId(string, int, params OpcName\[\])

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value`, `namespaceIndex` and `pathElements` specified.

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

```csharp
public OpcNodeId(
    string value,
    int namespaceIndex,
    params OpcName[] pathElements)
```

</div>

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

```vbnet
Public Sub New(
    value As String,
    namespaceIndex As Integer,
    ParamArray pathElements As OpcName())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The index of the namespace that this identifier should refer to. |
| `pathElements` | params [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/)[] | The elements of the [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) to use as the logical (= physically not available in the address space) portion of the identifier. |

#### OpcNodeId(string, OpcNamespace)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value` and `nodeNamespace` specified.

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

```csharp
public OpcNodeId(string value, OpcNamespace nodeNamespace)
```

</div>

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

```vbnet
Public Sub New(value As String, nodeNamespace As OpcNamespace)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `nodeNamespace` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The namespace that this identifier should refer to. |

#### OpcNodeId(string, OpcNamespace, OpcNamePath)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value`, `nodeNamespace` and `path` specified.

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

```csharp
public OpcNodeId(string value, OpcNamespace nodeNamespace, OpcNamePath path)
```

</div>

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

```vbnet
Public Sub New(
    value As String,
    nodeNamespace As OpcNamespace,
    path As OpcNamePath)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `nodeNamespace` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The namespace that this identifier should refer to. |
| `path` | [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) | The logical (= physically not available in the address space) portion of the identifier. |

#### OpcNodeId(string, OpcNamespace, params OpcName\[\])

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `value`, `nodeNamespace` and `pathElements` specified.

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

```csharp
public OpcNodeId(
    string value,
    OpcNamespace nodeNamespace,
    params OpcName[] pathElements)
```

</div>

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

```vbnet
Public Sub New(
    value As String,
    nodeNamespace As OpcNamespace,
    ParamArray pathElements As OpcName())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) value of the identifier to represent. A null reference (Nothing in Visual Basic) or a value equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty) results into a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| `nodeNamespace` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The namespace that this identifier should refer to. |
| `pathElements` | params [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/)[] | The elements of the [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) to use as the logical (= physically not available in the address space) portion of the identifier. |

#### OpcNodeId(OpcNodeId)

Initializes a new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the `other` specified.

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

```csharp
public OpcNodeId(OpcNodeId other)
```

</div>

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

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

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [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/) from that a deep copy is to be created. |

**Exceptions**

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

## Fields

### DefaultSeparator

<span class="api-meta">static</span>

Defines the character which is used to separate parent-child related node identifiers from each other when constructing a parent-child related node identifier using [Of](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#of-opc-uafx-opcname-opc-uafx-opcnodeid).

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

```csharp
public static readonly char DefaultSeparator
```

</div>

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

```vbnet
Public Shared ReadOnly DefaultSeparator As Char
```

</div>

**Field value**

[Char](https://learn.microsoft.com/dotnet/api/system.char)

### DefaultSeparatorOfPath

<span class="api-meta">static</span>

Defines the character which is used to separate node-component-node related node identifiers form each other when constructing a node-component-node related node identifier using [WithPath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#withpath-opc-uafx-opcnamepath).

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

```csharp
public static readonly char DefaultSeparatorOfPath
```

</div>

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

```vbnet
Public Shared ReadOnly DefaultSeparatorOfPath As Char
```

</div>

**Field value**

[Char](https://learn.microsoft.com/dotnet/api/system.char)

## Properties

### Factory

<span class="api-meta">static</span>

Gets or sets the globally used [OpcNodeIdFactory](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidfactory/) to generate new instances of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class.

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

```csharp
public static OpcNodeIdFactory Factory { get; set; }
```

</div>

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

```vbnet
Public Shared Property Factory As OpcNodeIdFactory
```

</div>

**Property value**

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

An instance of a sub class of the [OpcNodeIdFactory](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidfactory/) class. The default factory used is the [OpcNominalNodeIdFactory](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnominalnodeidfactory/).

### IsAbsolute

Gets a value indicating whether the identifier is an absolute one.

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

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

</div>

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

```vbnet
Public ReadOnly Property IsAbsolute As Boolean
```

</div>

**Property value**

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

The value true if the [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) is an absolute namespace and is therefore not server dependent upon its [Index](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#index); otherwise the value false.

### IsNull

Gets a value indicating whether the node identifier is a null identifier.

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

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

</div>

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

```vbnet
Public ReadOnly Property IsNull As Boolean
```

</div>

**Property value**

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

The value true if the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) defines a [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) specific definition of a null identifier; otherwise the value false.

**Remarks**

A null identifier originates when a node identifier is created using:

- A [byte](https://learn.microsoft.com/dotnet/api/system.byte)-array as the identifier value. In case there the [Opaque](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#opaque) identifier value is a null reference (Nothing in Visual Basic) or an empty array (the length is equals zero).
- A [Guid](https://learn.microsoft.com/dotnet/api/system.guid) as the identifier value. In case there the [Guid](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#guid) identifier value is equals to [Empty](https://learn.microsoft.com/dotnet/api/system.guid.empty).
- A [int](https://learn.microsoft.com/dotnet/api/system.int32) or [uint](https://learn.microsoft.com/dotnet/api/system.uint32) as the identifier value. In case there the [Numeric](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#numeric) identifier value is equals to zero.
- A [string](https://learn.microsoft.com/dotnet/api/system.string) as the identifier value. In case there the [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string) identifier value is a null reference (Nothing in Visual Basic) or equals to [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty).

### Namespace

Gets the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) used by the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to describe the namespace to that the node identifier belongs.

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

```csharp
public OpcNamespace Namespace { get; }
```

</div>

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

```vbnet
Public ReadOnly Property [Namespace] As OpcNamespace
```

</div>

**Property value**

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

An instance of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) with the known information about the namespace to that the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) belongs.

### NamespaceIndex

Gets the index of the namespace that this identifier belongs.

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

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

</div>

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

```vbnet
Public ReadOnly Property NamespaceIndex As Integer
```

</div>

**Property value**

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

The index value which refers to the namespace in the namespace array of the server to that the node identifier belong.

**Remarks**

The available namespaces of the server can be retrieved through reading the value of the namespaces-node using the node identifier 'OpcObjectTypes.Server.Namespaces'.

### NamespaceUri

Gets the uniform resource identifier (URI) of the namespace referred by the [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespaceindex).

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

```csharp
public Uri NamespaceUri { get; }
```

</div>

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

```vbnet
Public ReadOnly Property NamespaceUri As Uri
```

</div>

**Property value**

[Uri](https://learn.microsoft.com/dotnet/api/system.uri)

The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) to that the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) refers using the [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespaceindex).

### Null

<span class="api-meta">static</span>

Gets the default null node identifier.

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

```csharp
public static OpcNodeId Null { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Null 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 can be used for general purpose in cases there a null node identifier is enough.

### OriginalFormat

Gets the original format of the node identifier from that the instance was constructed.

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

```csharp
public OpcNodeIdFormat OriginalFormat { get; }
```

</div>

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

```vbnet
Public ReadOnly Property OriginalFormat As OpcNodeIdFormat
```

</div>

**Property value**

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

The format used by the [string](https://learn.microsoft.com/dotnet/api/system.string) passed to the [Parse](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#parse) method from that the identifier has been constructed. If this instance has not been constructed through a [Parse](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#parse) call a constructor dependent [OpcNodeIdFormat](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidformat/) enumeration member.

### OriginalString

Gets the original node identifier string that was passed to the [Parse](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#parse) method.

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

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

</div>

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

```vbnet
Public ReadOnly Property OriginalString As String
```

</div>

**Property value**

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

A [string](https://learn.microsoft.com/dotnet/api/system.string) containing the exact node identifier specified from this instance was constructed; otherwise [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty).

### Path

Gets the path portion of the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) which refers to the logical (= physically not available in the address space) portion of the identifier.

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

```csharp
public OpcNamePath Path { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Path As OpcNamePath
```

</div>

**Property value**

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

An instance of the [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) identifying the browse path to use to determine the according entity through the physically existing members in the address space.

**Remarks**

A [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) with a [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) not equals [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/members#empty) identifies an entity which is not necessarily physically available in the address space. We define that the identifier of the physical ancestor of the entity identified by such an identifier (its logical owner which is physically available in the address space) is encoded in the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) of its [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) followed by the string formatted [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path). Excluding the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) from this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) (see [ExcludePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#excludepath)) results into the identifier of the 'physical' ancestor. Using these (path-less) identifier the ancestor can be looked up in the address space and can be used to browse for the entity using the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) of the identifier of its successor.

### Resolution

<span class="api-meta">static · since v2.26</span>

Gets an instance of the [OpcNodeIdResolution](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidresolution/) class used to resolve node identifiers.

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

```csharp
public static OpcNodeIdResolution Resolution { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Resolution As OpcNodeIdResolution
```

</div>

**Property value**

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

An instance of the [OpcNodeIdResolution](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidresolution/) class.

### Type

Gets the type of [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) used to define the identifier.

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

```csharp
public OpcNodeIdType Type { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Type As OpcNodeIdType
```

</div>

**Property value**

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

One of the members defined by the [OpcNodeIdType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/) enumeration. The value dependents on the type of [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) used for the identifier.

### Value

Gets the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) dependent value of the identifier represented.

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

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

</div>

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

```vbnet
Public ReadOnly Property Value As Object
```

</div>

**Property value**

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

A [byte](https://learn.microsoft.com/dotnet/api/system.byte)-array, [Guid](https://learn.microsoft.com/dotnet/api/system.guid), [uint](https://learn.microsoft.com/dotnet/api/system.uint32) or [string](https://learn.microsoft.com/dotnet/api/system.string) value used to define the identifier.

### ValueAsString

Gets the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) formatted as a [string](https://learn.microsoft.com/dotnet/api/system.string).

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

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

</div>

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

```vbnet
Public ReadOnly Property ValueAsString As String
```

</div>

**Property value**

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

A [string](https://learn.microsoft.com/dotnet/api/system.string) representing the textual representation of the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value).

## Methods

### Compare

<span class="api-meta">static · since v2.41</span>

Compares two specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) objects according to a specific comparison method.

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

```csharp
public static int Compare(
    OpcNodeId first,
    OpcNodeId second,
    OpcNodeIdComparison comparisonType = OpcNodeIdComparison.Default)
```

</div>

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

```vbnet
Public Shared Function Compare(
    first As OpcNodeId,
    second As OpcNodeId,
    comparisonType As OpcNodeIdComparison = OpcNodeIdComparison.Default) As Integer
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `first` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare, or a null reference (Nothing in Visual Basic). |
| `second` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare, or a null reference (Nothing in Visual Basic). |
| `comparisonType` | [OpcNodeIdComparison](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidcomparison/) | One of the members defined by the [OpcNodeIdComparison](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidcomparison/) enumeration that specifies the rules for the comparison. Optional, default `OpcNodeIdComparison.Default`. |

**Returns**

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

A 32-bit signed integer that indicates the relative order of the objects being compared ([CompareTo(T)](https://learn.microsoft.com/dotnet/api/system.icomparable-1.compareto)).

### CompareTo

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

| Overload | Description |
|---|---|
| [CompareTo(object)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#compareto-system-object) | Compares the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) with the `other`. |
| [CompareTo(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#compareto-opc-uafx-opcnodeid) | Compares the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) with another [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/). |
| [CompareTo(OpcNodeId, OpcNodeIdComparison)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#compareto-opc-uafx-opcnodeid-opc-uafx-opcnodeidcomparison)<span class="api-meta">since v2.41</span> | Compares the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) with another [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) according to a specific comparison method. |

#### CompareTo(object)

Compares the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) with the `other`.

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

```csharp
public int CompareTo(object other)
```

</div>

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

```vbnet
Public Function CompareTo(other As Object) As Integer
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare with this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/). |

**Returns**

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

A 32-bit signed integer that indicates the relative order of the objects being compared ([CompareTo(object)](https://learn.microsoft.com/dotnet/api/system.icomparable.compareto)).

**Implements**

[CompareTo(object)](https://learn.microsoft.com/dotnet/api/system.icomparable.compareto)

#### CompareTo(OpcNodeId)

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

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

```csharp
public int CompareTo(OpcNodeId other)
```

</div>

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

```vbnet
Public Function CompareTo(other As OpcNodeId) As Integer
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [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/) to compare with this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/). |

**Returns**

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

A 32-bit signed integer that indicates the relative order of the objects being compared ([CompareTo(T)](https://learn.microsoft.com/dotnet/api/system.icomparable-1.compareto)).

**Implements**

[CompareTo(OpcNodeId)](https://learn.microsoft.com/dotnet/api/system.icomparable-1.compareto)

#### CompareTo(OpcNodeId, OpcNodeIdComparison)

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

Compares the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) with another [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) according to a specific comparison method.

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

```csharp
public int CompareTo(OpcNodeId other, OpcNodeIdComparison comparisonType)
```

</div>

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

```vbnet
Public Function CompareTo(
    other As OpcNodeId,
    comparisonType As OpcNodeIdComparison) As Integer
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [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/) to compare with this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/). |
| `comparisonType` | [OpcNodeIdComparison](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidcomparison/) | One of the members defined by the [OpcNodeIdComparison](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidcomparison/) enumeration that specifies the rules for the comparison. |

**Returns**

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

A 32-bit signed integer that indicates the relative order of the objects being compared ([CompareTo(T)](https://learn.microsoft.com/dotnet/api/system.icomparable-1.compareto)).

### Equals

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

| Overload | Description |
|---|---|
| [Equals(OpcNodeId, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#equals-opc-uafx-opcnodeid-opc-uafx-opcnodeid)<span class="api-meta">static · since v2.18</span> | Determines whether two specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) objects are equals. |
| [Equals(OpcNodeId, OpcNodeId, OpcNodeIdComparison)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#equals-opc-uafx-opcnodeid-opc-uafx-opcnodeid-opc-uafx-opcnodeidcomparison)<span class="api-meta">static · since v2.18</span> | Determines whether two specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) objects are equals according to a specific comparison method. |
| [Equals(object)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#equals-system-object)<span class="api-meta">override</span> | Determines whether the specified `other` is equal to this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/). |
| [Equals(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#equals-opc-uafx-opcnodeid) | Determines whether the specified `other` is equal to this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/). |
| [Equals(OpcNodeId, OpcNodeIdComparison)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#equals-opc-uafx-opcnodeid-opc-uafx-opcnodeidcomparison)<span class="api-meta">since v2.18</span> | Determines whether the specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object is equals to this instance according to a specific comparison method. |

#### Equals(OpcNodeId, OpcNodeId)

<span class="api-meta">static · since v2.18</span>

Determines whether two specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) objects are equals.

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

```csharp
public static bool Equals(OpcNodeId first, OpcNodeId second)
```

</div>

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

```vbnet
Public Shared Function Equals(
    first As OpcNodeId,
    second As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `first` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare, or a null reference (Nothing in Visual Basic). |
| `second` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare, or a null reference (Nothing in Visual Basic). |

**Returns**

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

The value true if the `first` is equals to the `second`; otherwise the value false.

#### Equals(OpcNodeId, OpcNodeId, OpcNodeIdComparison)

<span class="api-meta">static · since v2.18</span>

Determines whether two specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) objects are equals according to a specific comparison method.

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

```csharp
public static bool Equals(
    OpcNodeId first,
    OpcNodeId second,
    OpcNodeIdComparison comparisonType)
```

</div>

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

```vbnet
Public Shared Function Equals(
    first As OpcNodeId,
    second As OpcNodeId,
    comparisonType As OpcNodeIdComparison) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `first` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare, or a null reference (Nothing in Visual Basic). |
| `second` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare, or a null reference (Nothing in Visual Basic). |
| `comparisonType` | [OpcNodeIdComparison](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidcomparison/) | One of the members defined by the [OpcNodeIdComparison](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidcomparison/) enumeration that specifies the rules for the comparison. |

**Returns**

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

The value true if the `first` is equals to the `second`; otherwise the value false.

#### Equals(object)

<span class="api-meta">override</span>

Determines whether the specified `other` is equal to this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/).

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

```csharp
public override bool Equals(object other)
```

</div>

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

```vbnet
Public Overrides Function Equals(other As Object) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare to the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/). |

**Returns**

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

The value true if the specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) is equal to the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/); otherwise the value false.

**Overrides**

[Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals%28system-object%29)

#### Equals(OpcNodeId)

Determines whether the specified `other` is equal to this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/).

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

```csharp
public bool Equals(OpcNodeId other)
```

</div>

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

```vbnet
Public Function Equals(other As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [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/) to compare to the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/). |

**Returns**

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

The value true if the specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) is equal to the current [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/); otherwise the value false.

**Implements**

[Equals(OpcNodeId)](https://learn.microsoft.com/dotnet/api/system.iequatable-1.equals)

#### Equals(OpcNodeId, OpcNodeIdComparison)

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

Determines whether the specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object is equals to this instance according to a specific comparison method.

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

```csharp
public bool Equals(OpcNodeId other, OpcNodeIdComparison comparisonType)
```

</div>

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

```vbnet
Public Function Equals(
    other As OpcNodeId,
    comparisonType As OpcNodeIdComparison) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [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/) to compare to this instance. |
| `comparisonType` | [OpcNodeIdComparison](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidcomparison/) | One of the members defined by the [OpcNodeIdComparison](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidcomparison/) enumeration that specifies the rules for the comparison. |

**Returns**

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

The value true if the `other` is equals to this instance; otherwise the value false.

### ExcludePath

Retrieves a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) there its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) not longer contains any [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) information.

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

```csharp
public OpcNodeId ExcludePath()
```

</div>

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

```vbnet
Public Function ExcludePath() As OpcNodeId
```

</div>

**Returns**

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

A new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class using the same [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) as this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) and the same [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value), but without any [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) portion used by this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/).

**Remarks**

In case there the identifier of the ancestor from that this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) (with path) was created from is not of the [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string) type (see [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type)) this method will not recover its original [OpcNodeIdType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/).

### GetHashCode

<span class="api-meta">override</span>

Retrieves a hash code for this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/).

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

```csharp
public override int GetHashCode()
```

</div>

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

```vbnet
Public Overrides Function GetHashCode() As Integer
```

</div>

**Returns**

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

An [int](https://learn.microsoft.com/dotnet/api/system.int32) that contains the hash code for the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/).

**Overrides**

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

### IsNullOrEmpty

<span class="api-meta">static · since v2.14</span>

Indicates whether the specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) is null or its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) is null, default or an empty string ("").

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

```csharp
public static bool IsNullOrEmpty(OpcNodeId identifier)
```

</div>

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

```vbnet
Public Shared Function IsNullOrEmpty(identifier As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `identifier` | [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/) to test. |

**Returns**

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

The value true if the `identifier` parameter or its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) is null, default or an empty string (""); otherwise the value false.

**Remarks**

This method ignores the circumstance whether the [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) of the `identifier` might be specified anyway.

### Of

<span class="api-meta">static · 3 overloads</span>

| Overload | Description |
|---|---|
| [Of(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#of-opc-uafx-opcname)<span class="api-meta">static</span> | Creates a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) instance from the `name` specified. |
| [Of(OpcName, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#of-opc-uafx-opcname-opc-uafx-opcnodeid)<span class="api-meta">static</span> | Creates a new parent-child related [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) instance from the `name` and `parentNodeId` specified. |
| [Of(OpcName, OpcNodeId, char)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#of-opc-uafx-opcname-opc-uafx-opcnodeid-system-char)<span class="api-meta">static</span> | Creates a new parent-child related [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) instance from the `name` and `parentNodeId` specified. |

**Exceptions (all overloads)**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` does not provide a [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value) nor a [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#namespaceindex) from that a [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) can be created (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#isnull)). |

#### Of(OpcName)

<span class="api-meta">static</span>

Creates a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) instance from the `name` specified.

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

```csharp
public static OpcNodeId Of(OpcName name)
```

</div>

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

```vbnet
Public Shared Function [Of](name As OpcName) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value) and [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#namespaceindex) is used to create a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the type [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string). |

**Returns**

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

A new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) created from the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value) and [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#namespaceindex) of the `name` specified.

**Exceptions**

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

#### Of(OpcName, OpcNodeId)

<span class="api-meta">static</span>

Creates a new parent-child related [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) instance from the `name` and `parentNodeId` specified.

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

```csharp
public static OpcNodeId Of(OpcName name, OpcNodeId parentNodeId)
```

</div>

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

```vbnet
Public Shared Function [Of](
    name As OpcName,
    parentNodeId As OpcNodeId) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value) and [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#namespaceindex) is used to create a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the type [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string). |
| `parentNodeId` | [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 parent node its identifier is to be integrated into the new node identifier. |

**Returns**

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

A new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) created from the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value) and [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#namespaceindex) of the `name` specified.

**Exceptions**

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

#### Of(OpcName, OpcNodeId, char)

<span class="api-meta">static</span>

Creates a new parent-child related [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) instance from the `name` and `parentNodeId` specified.

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

```csharp
public static OpcNodeId Of(OpcName name, OpcNodeId parentNodeId, char separator)
```

</div>

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

```vbnet
Public Shared Function [Of](
    name As OpcName,
    parentNodeId As OpcNodeId,
    separator As Char) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value) and [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#namespaceindex) is used to create a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the type [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string). |
| `parentNodeId` | [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 parent node its identifier is to be integrated into the new node identifier. |
| `separator` | [Char](https://learn.microsoft.com/dotnet/api/system.char) | The [char](https://learn.microsoft.com/dotnet/api/system.char) used to separate the child node identifier from the `parentNodeId`. |

**Returns**

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

A new instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) created from the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value) and [NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#namespaceindex) of the `name` specified.

**Exceptions**

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

**Remarks**

In case there the `parentNodeId` ends with the `separator` specified it will be not adopted by the newly created node identifier.

### Parse

<span class="api-meta">static</span>

Converts a node identifier string to a [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) instance.

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

```csharp
public static OpcNodeId Parse(string value)
```

</div>

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

```vbnet
Public Shared Function Parse(value As String) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | A string that contains a node identifier. |

**Returns**

[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/) class.

**Exceptions**

| Exception | Condition |
|---|---|
| [FormatException](https://learn.microsoft.com/dotnet/api/system.formatexception) | The `value` is not a valid node identifier. |

### Resolve

Resolves this node identifier to a new node identifier its [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) might be known in the context of the `resolver` object specified.

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

```csharp
public OpcNodeId Resolve(IOpcNamespaceResolver resolver)
```

</div>

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

```vbnet
Public Function Resolve(resolver As IOpcNamespaceResolver) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `resolver` | [IOpcNamespaceResolver](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnamespaceresolver/) | An instance implementing the [IOpcNamespaceResolver](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnamespaceresolver/) interface to use to retrieve the namespace known using the namespace information of this identifier. |

**Returns**

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

A deep copy of this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) using either the resolved namespace or the same namespace as this node identifier.

**Exceptions**

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

### ToString

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

| Overload | Description |
|---|---|
| [ToString()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#tostring-noparams)<span class="api-meta">override</span> | Returns a string representing the node identifier. |
| [ToString(OpcNodeIdFormat)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#tostring-opc-uafx-opcnodeidformat) | Returns a string representing the node identifier in the `format` specified. |

#### ToString()

<span class="api-meta">override</span>

Returns a string representing the node identifier.

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

```csharp
public override string ToString()
```

</div>

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

```vbnet
Public Overrides Function ToString() As String
```

</div>

**Returns**

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

A string formatted using the [OriginalFormat](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#originalformat) from that the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) has been constructed. The format dependents on the format detected through calling [Parse](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#parse) or the format defined using a specific constructor.

**Overrides**

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

#### ToString(OpcNodeIdFormat)

Returns a string representing the node identifier in the `format` specified.

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

```csharp
public string ToString(OpcNodeIdFormat format)
```

</div>

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

```vbnet
Public Function ToString(format As OpcNodeIdFormat) As String
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `format` | [OpcNodeIdFormat](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidformat/) | One of the formatting styles defined by the [OpcNodeIdFormat](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidformat/) enumeration. |

**Returns**

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

A string formatted using the `format` specified.

### TryParse

<span class="api-meta">static</span>

Determines whether a string is a valid node identifier.

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

```csharp
public static bool TryParse(string value, out OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Shared Function TryParse(value As String, nodeId As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The string to validate. |
| `nodeId` | out [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/) version of the string. |

**Returns**

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

The value true, if `value` is a valid node identifier; otherwise the value false.

### UriIdentifier

<span class="api-meta">static</span>

Retrieves the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) of the `nodeId` as an [Uri](https://learn.microsoft.com/dotnet/api/system.uri).

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

```csharp
public static Uri UriIdentifier(OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Shared Function UriIdentifier(nodeId As OpcNodeId) As Uri
```

</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/) from its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) an [Uri](https://learn.microsoft.com/dotnet/api/system.uri) is to be retrieved. |

**Returns**

[Uri](https://learn.microsoft.com/dotnet/api/system.uri)

An [Uri](https://learn.microsoft.com/dotnet/api/system.uri) if the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) of the `nodeId` is equals [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string) and the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) can be parsed to an [Uri](https://learn.microsoft.com/dotnet/api/system.uri); otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

**Remarks**

This method can be used in scenarios there a server uses [Uri](https://learn.microsoft.com/dotnet/api/system.uri)-formatted strings as the identifier for its nodes, while its node managers defines different namespaces where the namespaceUris define base-uri's of the node identifier uri's. This allows the framework to determine the manager of a node without the need to know the concrete index of the namespace which defines the identifier of a node.

### WithPath

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

| Overload | Description |
|---|---|
| [WithPath(OpcNamePath)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#withpath-opc-uafx-opcnamepath) | Defines a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) using the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value), [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) and [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) of this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by combining this [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) with the `path` specified. |
| [WithPath(params OpcName\[\])](#withpath-opc-uafx-opcname-array) | Defines a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) using the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value), [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) and [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) of this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by combining this [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) with the `pathElements` specified. |

#### WithPath(OpcNamePath)

Defines a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) using the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value), [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) and [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) of this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by combining this [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) with the `path` specified.

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

```csharp
public OpcNodeId WithPath(OpcNamePath path)
```

</div>

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

```vbnet
Public Function WithPath(path As OpcNamePath) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `path` | [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) | The logical (= physically not available in the address space) portion to append to the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) of this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) for the identifier to create. |

**Returns**

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

A new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) derived from this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by extending the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) using the `path` specified.

**Remarks**

In case there this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) is not of the [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string) type (see [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type)) the new one will be, because of the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) is encoded in the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value).

#### WithPath(params OpcName\[\])

Defines a new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) using the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value), [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) and [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) of this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by combining this [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) with the `pathElements` specified.

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

```csharp
public OpcNodeId WithPath(params OpcName[] pathElements)
```

</div>

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

```vbnet
Public Function WithPath(ParamArray pathElements As OpcName()) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `pathElements` | params [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/)[] | The elements of the [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) to use as the logical (= physically not available in the address space) portion to append to the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) of this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) for the identifier to create. |

**Returns**

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

A new [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) derived from this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by extending the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) using the `pathElements` specified.

**Remarks**

In case there this [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) is not of the [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string) type (see [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type)) the new one will be, because of the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) is encoded in the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value).

## Operators

### Equality

<span class="api-meta">static</span>

Returns a value indicating whether two instance of [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) are equal.

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

```csharp
public static bool operator ==(OpcNodeId left, OpcNodeId right)
```

</div>

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

```vbnet
Public Shared Operator =(left As OpcNodeId, right As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare. |
| `right` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare. |

**Returns**

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

The value true if left and right are equal; otherwise the value false.

### Explicit

<span class="api-meta">static · 2 overloads</span>

| Overload | Description |
|---|---|
| [explicit operator NodeId(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#op-explicit-opc-uafx-opcnodeid-opc-ua-nodeid)<span class="api-meta">static</span> | Converts a [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to an <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.NodeId">NodeId</abbr> object. |
| [explicit operator ExpandedNodeId(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#op-explicit-opc-uafx-opcnodeid-opc-ua-expandednodeid)<span class="api-meta">static · since v2.16</span> | Converts a [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to an <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ExpandedNodeId">ExpandedNodeId</abbr> object. |

#### explicit operator NodeId(OpcNodeId)

<span class="api-meta">static</span>

Converts a [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to an <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.NodeId">NodeId</abbr> object.

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

```csharp
public static explicit operator NodeId(OpcNodeId value)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Shared Narrowing Operator CType(value As OpcNodeId) As NodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | A [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) that represents the node id. |

**Returns**

<abbr title="OPC Foundation stack type, not documented here: Opc.Ua.NodeId">NodeId</abbr>

An instance of the <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.NodeId">NodeId</abbr> class initialized from the `value`.

#### explicit operator ExpandedNodeId(OpcNodeId)

<span class="api-meta">static · since v2.16</span>

Converts a [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to an <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ExpandedNodeId">ExpandedNodeId</abbr> object.

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

```csharp
public static explicit operator ExpandedNodeId(OpcNodeId value)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Shared Narrowing Operator CType(value As OpcNodeId) As ExpandedNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | A [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) that represents the node id. |

**Returns**

<abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ExpandedNodeId">ExpandedNodeId</abbr>

An instance of the <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ExpandedNodeId">ExpandedNodeId</abbr> class initialized from the `value`.

### GreaterThan

<span class="api-meta">static</span>

Determines whether the first specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object is greater than the second specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object.

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

```csharp
public static bool operator >(OpcNodeId left, OpcNodeId right)
```

</div>

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

```vbnet
Public Shared Operator >(left As OpcNodeId, right As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |
| `right` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |

**Returns**

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

The value true if `left` is greater than `right`; otherwise, false.

### GreaterThanOrEqual

<span class="api-meta">static</span>

Determines whether the first specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object is greater than or equal to the second specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object.

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

```csharp
public static bool operator >=(OpcNodeId left, OpcNodeId right)
```

</div>

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

```vbnet
Public Shared Operator >=(left As OpcNodeId, right As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |
| `right` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |

**Returns**

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

The value true if `left` is greater than or equal to `right`; otherwise, false.

### Implicit

<span class="api-meta">static · 4 overloads</span>

| Overload | Description |
|---|---|
| [implicit operator OpcNodeId(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#op-implicit-system-string-opc-uafx-opcnodeid)<span class="api-meta">static</span> | Converts a [string](https://learn.microsoft.com/dotnet/api/system.string) to an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |
| [implicit operator OpcNodeId(int)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#op-implicit-system-int32-opc-uafx-opcnodeid)<span class="api-meta">static</span> | Converts a [int](https://learn.microsoft.com/dotnet/api/system.int32) to an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |
| [implicit operator OpcNodeId(NodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#op-implicit-opc-ua-nodeid-opc-uafx-opcnodeid)<span class="api-meta">static</span> | Converts a <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.NodeId">NodeId</abbr> to an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |
| [implicit operator OpcNodeId(ExpandedNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#op-implicit-opc-ua-expandednodeid-opc-uafx-opcnodeid)<span class="api-meta">static</span> | Converts a <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ExpandedNodeId">ExpandedNodeId</abbr> to an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |

#### implicit operator OpcNodeId(string)

<span class="api-meta">static</span>

Converts a [string](https://learn.microsoft.com/dotnet/api/system.string) to an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object.

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

```csharp
public static implicit operator OpcNodeId(string value)
```

</div>

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

```vbnet
Public Shared Widening Operator CType(value As String) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [String](https://learn.microsoft.com/dotnet/api/system.string) | A string that represents the node id. |

**Returns**

[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/) class initialized from the `value`.

#### implicit operator OpcNodeId(int)

<span class="api-meta">static</span>

Converts a [int](https://learn.microsoft.com/dotnet/api/system.int32) to an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object.

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

```csharp
public static implicit operator OpcNodeId(int value)
```

</div>

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

```vbnet
Public Shared Widening Operator CType(value As Integer) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | A [int](https://learn.microsoft.com/dotnet/api/system.int32) that represents the node id. |

**Returns**

[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/) class initialized from the `value`.

#### implicit operator OpcNodeId(NodeId)

<span class="api-meta">static</span>

Converts a <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.NodeId">NodeId</abbr> to an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object.

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

```csharp
public static implicit operator OpcNodeId(NodeId value)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Shared Widening Operator CType(value As NodeId) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.NodeId">NodeId</abbr> | A <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.NodeId">NodeId</abbr> that represents the node id. |

**Returns**

[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/) class initialized from the `value`.

#### implicit operator OpcNodeId(ExpandedNodeId)

<span class="api-meta">static</span>

Converts a <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ExpandedNodeId">ExpandedNodeId</abbr> to an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object.

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

```csharp
public static implicit operator OpcNodeId(ExpandedNodeId value)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Shared Widening Operator CType(value As ExpandedNodeId) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ExpandedNodeId">ExpandedNodeId</abbr> | A <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ExpandedNodeId">ExpandedNodeId</abbr> that represents expanded the node id. |

**Returns**

[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/) class initialized from the `value`.

### Inequality

<span class="api-meta">static</span>

Returns a value indicating whether two instances of [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) are not equal.

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

```csharp
public static bool operator !=(OpcNodeId left, OpcNodeId right)
```

</div>

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

```vbnet
Public Shared Operator <>(left As OpcNodeId, right As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare. |
| `right` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to compare. |

**Returns**

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

The value true if left and right are not equal; otherwise the value false.

### LessThan

<span class="api-meta">static</span>

Determines whether the first specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object is less than the second specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object.

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

```csharp
public static bool operator <(OpcNodeId left, OpcNodeId right)
```

</div>

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

```vbnet
Public Shared Operator <(left As OpcNodeId, right As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |
| `right` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |

**Returns**

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

The value true if `left` is less than `right`; otherwise the value false.

### LessThanOrEqual

<span class="api-meta">static</span>

Determines whether the first specified [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object is less than or equal to the second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object.

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

```csharp
public static bool operator <=(OpcNodeId left, OpcNodeId right)
```

</div>

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

```vbnet
Public Shared Operator <=(left As OpcNodeId, right As OpcNodeId) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The first [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |
| `right` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The second [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) object. |

**Returns**

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

The value true if `left` is less than or equal to `right`; otherwise the value false.
