# OpcNodeTypes Members

> Reference: Provides the identifiers of the base node types and methods to determine the identifier of the node type which a .NET type represents.

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

## Fields

### Object

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

Represents the identifier of the BaseObjectType object type.

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

```csharp
public static readonly OpcNodeId Object
```

</div>

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

```vbnet
Public Shared ReadOnly [Object] As OpcNodeId
```

</div>

**Field value**

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

### Variable

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

Represents the identifier of the BaseVariableType variable type.

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

```csharp
public static readonly OpcNodeId Variable
```

</div>

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

```vbnet
Public Shared ReadOnly Variable As OpcNodeId
```

</div>

**Field value**

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

## Methods

### GetNodeId

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

| Overload | Description |
|---|---|
| [GetNodeId&lt;T&gt;()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypes/members#getnodeid-t1)<span class="api-meta">static</span> | Determines the identifier of the node type which the type specified by `T` represents. |
| [GetNodeId(Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypes/members#getnodeid-system-type)<span class="api-meta">static</span> | Determines the identifier of the node type which the `type` specified represents. |
| [GetNodeId(object)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypes/members#getnodeid-system-object)<span class="api-meta">static</span> | Determines the identifier of the node type which the type of the `node` specified represents. |

#### GetNodeId&lt;T&gt;()

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

Determines the identifier of the node type which the type specified by `T` represents.

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

```csharp
public static OpcNodeId GetNodeId<T>()
```

</div>

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

```vbnet
Public Shared Function GetNodeId(Of T)() As OpcNodeId
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T` | The node class whose node type is to be determined. |

**Returns**

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

The identifier of the node type (see [GetNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypes/members#getnodeid-system-type)).

#### GetNodeId(Type)

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

Determines the identifier of the node type which the `type` specified represents.

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

```csharp
public static OpcNodeId GetNodeId(Type type)
```

</div>

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

```vbnet
Public Shared Function GetNodeId(type As Type) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `type` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The node class whose node type is to be determined. |

**Returns**

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

[Object](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypes/members#object) for [OpcObjectNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjectnode/), [Variable](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypes/members#variable) for [OpcVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvariablenode/), the identifier of the [OpcNodeTypeAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeattribute/) of the `type` or the identifier of the node type the SDK has already determined for the `type`; [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) if the `type` is a null reference (Nothing in Visual Basic), and a null reference if the `type` does not represent a known node type.

#### GetNodeId(object)

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

Determines the identifier of the node type which the type of the `node` specified represents.

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

```csharp
public static OpcNodeId GetNodeId(object node)
```

</div>

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

```vbnet
Public Shared Function GetNodeId(node As Object) As OpcNodeId
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `node` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The node whose node type is to be determined. |

**Returns**

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

The identifier of the node type of the type of the `node` (see [GetNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypes/members#getnodeid-system-type)), or [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) if the `node` is a null reference (Nothing in Visual Basic).
