# OpcNodeTypeNode Members

> Reference: Defines an abstract node type node.

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

Inherits members from [OpcTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypenode/members), [OpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members).

## Properties

### TypeInfo

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

Gets the type information of the node type represented by the node.

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

```csharp
public virtual OpcNodeTypeInfo TypeInfo { get; }
```

</div>

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

```vbnet
Public Overridable ReadOnly Property TypeInfo As OpcNodeTypeInfo
```

</div>

**Property value**

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

The [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) of the node type identified by the [Id](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members#id) of the node, or a null reference (Nothing in Visual Basic) if no such node type is known.

## Methods

### Create

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

| Overload | Description |
|---|---|
| [Create&lt;T&gt;()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/members#create-t1)<span class="api-meta">static</span> | Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `T`. |
| [Create(Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/members#create-system-type)<span class="api-meta">static</span> | Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `nodeType`. |
| [Create&lt;T&gt;(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/members#create-t1-opc-uafx-opcnodeid)<span class="api-meta">static</span> | Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `T` which can be identified by the `id`. |
| [Create(Type, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/members#create-system-type-opc-uafx-opcnodeid)<span class="api-meta">static</span> | Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `nodeType` which can be identified by the `id`. |
| [Create&lt;T&gt;(OpcNodeId, OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/members#create-t1-opc-uafx-opcnodeid-opc-uafx-opcname)<span class="api-meta">static</span> | Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `T` which can be identified by the `id` and `name`. |
| [Create(Type, OpcNodeId, OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/members#create-system-type-opc-uafx-opcnodeid-opc-uafx-opcname)<span class="api-meta">static</span> | Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `nodeType` which can be identified by the `id` and `name`. |

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

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

Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `T`.

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

```csharp
public static OpcNodeTypeNode Create<T>()
```

</div>

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

```vbnet
Public Shared Function Create(Of T)() As OpcNodeTypeNode
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T` | The type of node to represent. |

**Returns**

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

A new instance of the [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) initialized with defaults determined by the global node type system and the `T` specified.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `T` is not a supported node type. |

#### Create(Type)

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

Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `nodeType`.

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

```csharp
public static OpcNodeTypeNode Create(Type nodeType)
```

</div>

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

```vbnet
Public Shared Function Create(nodeType As Type) As OpcNodeTypeNode
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeType` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The type of node to represent. |

**Returns**

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

A new instance of the [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) initialized with defaults determined by the global node type system and the `nodeType` specified.

**Exceptions**

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

#### Create&lt;T&gt;(OpcNodeId)

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

Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `T` which can be identified by the `id`.

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

```csharp
public static OpcNodeTypeNode Create<T>(OpcNodeId id)
```

</div>

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

```vbnet
Public Shared Function Create(Of T)(id As OpcNodeId) As OpcNodeTypeNode
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T` | The type of node to represent. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `id` | [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/) through that the new node type node can be identified and accessed. |

**Returns**

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

A new instance of the [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) initialized with defaults determined by the global node type system and the `T` repecting the `id` specified.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `T` is not a supported node type. |

#### Create(Type, OpcNodeId)

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

Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `nodeType` which can be identified by the `id`.

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

```csharp
public static OpcNodeTypeNode Create(Type nodeType, OpcNodeId id)
```

</div>

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

```vbnet
Public Shared Function Create(
    nodeType As Type,
    id As OpcNodeId) As OpcNodeTypeNode
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeType` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The type of node to represent. |
| `id` | [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/) through that the new node type node can be identified and accessed. |

**Returns**

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

A new instance of the [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) initialized with defaults determined by the global node type system and the `nodeType` repecting the `id` specified.

**Exceptions**

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

#### Create&lt;T&gt;(OpcNodeId, OpcName)

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

Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `T` which can be identified by the `id` and `name`.

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

```csharp
public static OpcNodeTypeNode Create<T>(OpcNodeId id, OpcName name)
```

</div>

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

```vbnet
Public Shared Function Create(Of T)(
    id As OpcNodeId,
    name As OpcName) As OpcNodeTypeNode
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T` | The type of node to represent. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `id` | [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/) through that the new node type node can be identified and accessed. |
| `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/) through that the new node type node can be accessed. |

**Returns**

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

A new instance of the [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) initialized with defaults determined by the global node type system and the `T` repecting the `id` and `name` specified.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `T` is not a supported node type. |

#### Create(Type, OpcNodeId, OpcName)

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

Creates a new [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) used to represent the type specified by `nodeType` which can be identified by the `id` and `name`.

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

```csharp
public static OpcNodeTypeNode Create(Type nodeType, OpcNodeId id, OpcName name)
```

</div>

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

```vbnet
Public Shared Function Create(
    nodeType As Type,
    id As OpcNodeId,
    name As OpcName) As OpcNodeTypeNode
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeType` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The type of node to represent. |
| `id` | [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/) through that the new node type node can be identified and accessed. |
| `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/) through that the new node type node can be accessed. |

**Returns**

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

A new instance of the [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/) initialized with defaults determined by the global node type system and the `nodeType` repecting the `id` and `name` specified.

**Exceptions**

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