# OpcAddObjectTypeNode Members

> Reference: Defines a single command of the IOpcAddNodesService used to add one object type node (nodes of the category ObjectType).

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

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

## Constructors

### OpcAddObjectTypeNode

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

| Overload | Description |
|---|---|
| [OpcAddObjectTypeNode(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/members#opcaddobjecttypenode-opc-uafx-opcname) | Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add. |
| [OpcAddObjectTypeNode(OpcName, params OpcAddInstanceNode\[\])](#opcaddobjecttypenode-opc-uafx-opcname-opc-uafx-opcaddinstancenode-array) | Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add. |
| [OpcAddObjectTypeNode(OpcName, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/members#opcaddobjecttypenode-opc-uafx-opcname-opc-uafx-opcnodeid) | Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add, which shall be additionally accessible by the `nodeId` defined. |
| [OpcAddObjectTypeNode(OpcName, OpcNodeId, params OpcAddInstanceNode\[\])](#opcaddobjecttypenode-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-opcaddinstancenode-array) | Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add, which shall be additionally accessible by the `nodeId` defined. |
| [OpcAddObjectTypeNode(OpcObjectType, OpcName, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/members#opcaddobjecttypenode-opc-uafx-opcobjecttype-opc-uafx-opcname-opc-uafx-opcnodeid) | Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the specified `superType` to inherit from by the object type node to add, which shall be accessible by the `name` and `nodeId` defined. |
| [OpcAddObjectTypeNode(OpcObjectType, OpcName, OpcNodeId, params OpcAddInstanceNode\[\])](#opcaddobjecttypenode-opc-uafx-opcobjecttype-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-opcaddinstancenode-array) | Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the specified `superType` to inherit from by the object type node to add, which shall be accessible by the `name` and `nodeId` defined. |
| [OpcAddObjectTypeNode(OpcNodeId, OpcName, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/members#opcaddobjecttypenode-opc-uafx-opcnodeid-opc-uafx-opcname-opc-uafx-opcnodeid) | Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add, which shall be additionally accessible by the `nodeId` defined. |
| [OpcAddObjectTypeNode(OpcNodeId, OpcName, OpcNodeId, params OpcAddInstanceNode\[\])](#opcaddobjecttypenode-opc-uafx-opcnodeid-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-opcaddinstancenode-array) | Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add, which shall be additionally accessible by the `nodeId` defined. |

#### OpcAddObjectTypeNode(OpcName)

Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add. The according [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to identify and access the new node is determined by the service. The new node will be a child of the <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ObjectTypeIds.BaseObjectType">BaseObjectType</abbr> node using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference.

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

```csharp
public OpcAddObjectTypeNode(OpcName name)
```

</div>

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

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

</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/) through that the new object type node can be accessed. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#null). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `name` is a null reference (Nothing in Visual Basic). |

#### OpcAddObjectTypeNode(OpcName, params OpcAddInstanceNode\[\])

Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add. The according [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) to identify and access the new node is determined by the service. The new node will be a child of the <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ObjectTypeIds.BaseObjectType">BaseObjectType</abbr> node using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference.

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

```csharp
public OpcAddObjectTypeNode(OpcName name, params OpcAddInstanceNode[] children)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, ParamArray children As OpcAddInstanceNode())
```

</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/) through that the new object type node can be accessed. |
| `children` | params [OpcAddInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddinstancenode/)[] | The initial child nodes of the node to add. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#null). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `name` is a null reference (Nothing in Visual Basic). |

#### OpcAddObjectTypeNode(OpcName, OpcNodeId)

Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add, which shall be additionally accessible by the `nodeId` defined. The new node will be a child of the <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ObjectTypeIds.BaseObjectType">BaseObjectType</abbr> node using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference.

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

```csharp
public OpcAddObjectTypeNode(OpcName name, OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, nodeId 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/) through that the new object type node can be accessed. |
| `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/) through that the new node can be identified and accessed. In case there [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) is specified the server will determine the according [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by its own. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#null). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `name` or `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcAddObjectTypeNode(OpcName, OpcNodeId, params OpcAddInstanceNode\[\])

Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add, which shall be additionally accessible by the `nodeId` defined. The new node will be a child of the <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ObjectTypeIds.BaseObjectType">BaseObjectType</abbr> node using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference.

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

```csharp
public OpcAddObjectTypeNode(
    OpcName name,
    OpcNodeId nodeId,
    params OpcAddInstanceNode[] children)
```

</div>

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

```vbnet
Public Sub New(
    name As OpcName,
    nodeId As OpcNodeId,
    ParamArray children As OpcAddInstanceNode())
```

</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/) through that the new object type node can be accessed. |
| `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/) through that the new node can be identified and accessed. In case there [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) is specified the server will determine the according [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by its own. |
| `children` | params [OpcAddInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddinstancenode/)[] | The initial child nodes of the node to add. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#null). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `name` or `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcAddObjectTypeNode(OpcObjectType, OpcName, OpcNodeId)

Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the specified `superType` to inherit from by the object type node to add, which shall be accessible by the `name` and `nodeId` defined. The new node will be a child of the node identified by the `superType` using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference.

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

```csharp
public OpcAddObjectTypeNode(
    OpcObjectType superType,
    OpcName name,
    OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Sub New(superType As OpcObjectType, name As OpcName, nodeId As OpcNodeId)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `superType` | [OpcObjectType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjecttype/) | One of the members defined by the [OpcObjectType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjecttype/) enumeration which identifies the predefined underlying super type node the new node will represent a subtype of. The super type node is referenced using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference. |
| `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 object type node can be accessed. |
| `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/) through that the new node can be identified and accessed. In case there [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) is specified the server will determine the according [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by its own. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#null). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `name`, `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcAddObjectTypeNode(OpcObjectType, OpcName, OpcNodeId, params OpcAddInstanceNode\[\])

Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the specified `superType` to inherit from by the object type node to add, which shall be accessible by the `name` and `nodeId` defined. The new node will be a child of the node identified by the `superType` using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference.

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

```csharp
public OpcAddObjectTypeNode(
    OpcObjectType superType,
    OpcName name,
    OpcNodeId nodeId,
    params OpcAddInstanceNode[] children)
```

</div>

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

```vbnet
Public Sub New(
    superType As OpcObjectType,
    name As OpcName,
    nodeId As OpcNodeId,
    ParamArray children As OpcAddInstanceNode())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `superType` | [OpcObjectType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjecttype/) | One of the members defined by the [OpcObjectType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjecttype/) enumeration which identifies the predefined underlying super type node the new node will represent a subtype of. The super type node is referenced using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference. |
| `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 object type node can be accessed. |
| `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/) through that the new node can be identified and accessed. In case there [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) is specified the server will determine the according [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by its own. |
| `children` | params [OpcAddInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddinstancenode/)[] | The initial child nodes of the node to add. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `name` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#null). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `name`, `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcAddObjectTypeNode(OpcNodeId, OpcName, OpcNodeId)

Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add, which shall be additionally accessible by the `nodeId` defined. The new node will be a child of the node identified by `superTypeId` using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference.

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

```csharp
public OpcAddObjectTypeNode(
    OpcNodeId superTypeId,
    OpcName name,
    OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Sub New(superTypeId As OpcNodeId, name As OpcName, nodeId As OpcNodeId)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `superTypeId` | [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 super type node to reference using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference. |
| `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 object type node can be accessed. |
| `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/) through that the new node can be identified and accessed. In case there [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) is specified the server will determine the according [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by its own. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `superTypeId` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) or `name` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#null). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `superTypeId`, `name` or `nodeId` is a null reference (Nothing in Visual Basic). |

#### OpcAddObjectTypeNode(OpcNodeId, OpcName, OpcNodeId, params OpcAddInstanceNode\[\])

Initializes a new instance of the [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) class using the `name` of the object type node to add, which shall be additionally accessible by the `nodeId` defined. The new node will be a child of the node identified by `superTypeId` using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference.

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

```csharp
public OpcAddObjectTypeNode(
    OpcNodeId superTypeId,
    OpcName name,
    OpcNodeId nodeId,
    params OpcAddInstanceNode[] children)
```

</div>

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

```vbnet
Public Sub New(
    superTypeId As OpcNodeId,
    name As OpcName,
    nodeId As OpcNodeId,
    ParamArray children As OpcAddInstanceNode())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `superTypeId` | [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 super type node to reference using [HasSubtype](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hassubtype) as the type of reference. |
| `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 object type node can be accessed. |
| `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/) through that the new node can be identified and accessed. In case there [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) is specified the server will determine the according [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) by its own. |
| `children` | params [OpcAddInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddinstancenode/)[] | The initial child nodes of the node to add. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `superTypeId` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#null) or `name` is equals [Null](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#null). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `superTypeId`, `name` or `nodeId` is a null reference (Nothing in Visual Basic). |

## Properties

### Children

Gets a collection of [OpcAddInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddinstancenode/) instances which define the sub-ordinated nodes to add as children to the node to add.

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

```csharp
public OpcAddNodeCollection Children { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Children As OpcAddNodeCollection
```

</div>

**Property value**

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

An instance of the [OpcAddNodeCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddnodecollection/) class with the [OpcAddInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddinstancenode/) instances to process after the node defined by this [OpcAddObjectTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddobjecttypenode/) has been added.

### IsAbstract

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

Gets or sets a value indicating whether the object type node to add is abstract and must be overridden.

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

```csharp
public override bool IsAbstract { get; set; }
```

</div>

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

```vbnet
Public Overrides Property IsAbstract As Boolean
```

</div>

**Property value**

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

The value true if the object type node to add is abstract; otherwise the value false (the default value).

**Overrides**

[IsAbstract](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddtypenode/members#isabstract)

### SuperType

Gets a value indicating the predefined underlying super type the new node will represent a subtype of.

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

```csharp
public OpcObjectType SuperType { get; }
```

</div>

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

```vbnet
Public ReadOnly Property SuperType As OpcObjectType
```

</div>

**Property value**

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

One of the members defined by the [OpcObjectType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjecttype/) enumeration or -1 in case of a custom type definition is used (see [SuperTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddtypenode/members#supertypeid)).
