# OpcDeleteNodesRequest Members

> Reference: Represents the request of the DeleteNodes service of OPC UA, which deletes nodes from the address space.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcDeleteNodesRequest</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.services">Opc.UaFx.Services</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 [OpcServiceRequest&lt;OpcDeleteNode, OpcDeleteNodeCollection&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest-2/members), [OpcServiceRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest/members).

## Constructors

### OpcDeleteNodesRequest

<span class="api-meta">4 overloads · since v2.7</span>

| Overload | Description |
|---|---|
| [OpcDeleteNodesRequest(IEnumerable&lt;OpcDeleteNode&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/members#opcdeletenodesrequest-system-collections-generic-ienumerable-of-opc-uafx-opcdeletenode)<span class="api-meta">since v2.7</span> | Initializes a new instance of the [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/) class using the specified `commands` and a new header. |
| [OpcDeleteNodesRequest(params OpcDeleteNode\[\])](#opcdeletenodesrequest-opc-uafx-opcdeletenode-array)<span class="api-meta">since v2.7</span> | Initializes a new instance of the [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/) class using the specified `commands` and a new header. |
| [OpcDeleteNodesRequest(IOpcServiceRequestHeader, IEnumerable&lt;OpcDeleteNode&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/members#opcdeletenodesrequest-opc-uafx-services-iopcservicerequestheader-system-collections-generic-ienumerable-of-opc-uafx-opcdeletenode)<span class="api-meta">since v2.7</span> | Initializes a new instance of the [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/) class using the specified `header` and `commands`. |
| [OpcDeleteNodesRequest(IOpcServiceRequestHeader, params OpcDeleteNode\[\])](#opcdeletenodesrequest-opc-uafx-services-iopcservicerequestheader-opc-uafx-opcdeletenode-array)<span class="api-meta">since v2.7</span> | Initializes a new instance of the [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/) class using the specified `header` and `commands`. |

#### OpcDeleteNodesRequest(IEnumerable&lt;OpcDeleteNode&gt;)

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

Initializes a new instance of the [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/) class using the specified `commands` and a new header.

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

```csharp
public OpcDeleteNodesRequest(IEnumerable<OpcDeleteNode> commands)
```

</div>

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

```vbnet
Public Sub New(commands As IEnumerable(Of OpcDeleteNode))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `commands` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcDeleteNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdeletenode/)&gt; | The commands which specify the nodes to delete. |

**Exceptions**

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

#### OpcDeleteNodesRequest(params OpcDeleteNode\[\])

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

Initializes a new instance of the [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/) class using the specified `commands` and a new header.

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

```csharp
public OpcDeleteNodesRequest(params OpcDeleteNode[] commands)
```

</div>

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

```vbnet
Public Sub New(ParamArray commands As OpcDeleteNode())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `commands` | params [OpcDeleteNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdeletenode/)[] | The commands which specify the nodes to delete. |

**Exceptions**

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

#### OpcDeleteNodesRequest(IOpcServiceRequestHeader, IEnumerable&lt;OpcDeleteNode&gt;)

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

Initializes a new instance of the [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/) class using the specified `header` and `commands`.

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

```csharp
public OpcDeleteNodesRequest(
    IOpcServiceRequestHeader header,
    IEnumerable<OpcDeleteNode> commands)
```

</div>

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

```vbnet
Public Sub New(
    header As IOpcServiceRequestHeader,
    commands As IEnumerable(Of OpcDeleteNode))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `header` | [IOpcServiceRequestHeader](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.iopcservicerequestheader/) | The header of the request. |
| `commands` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcDeleteNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdeletenode/)&gt; | The commands which specify the nodes to delete. |

**Exceptions**

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

#### OpcDeleteNodesRequest(IOpcServiceRequestHeader, params OpcDeleteNode\[\])

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

Initializes a new instance of the [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/) class using the specified `header` and `commands`.

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

```csharp
public OpcDeleteNodesRequest(
    IOpcServiceRequestHeader header,
    params OpcDeleteNode[] commands)
```

</div>

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

```vbnet
Public Sub New(
    header As IOpcServiceRequestHeader,
    ParamArray commands As OpcDeleteNode())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `header` | [IOpcServiceRequestHeader](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.iopcservicerequestheader/) | The header of the request. |
| `commands` | params [OpcDeleteNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdeletenode/)[] | The commands which specify the nodes to delete. |

**Exceptions**

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

## Methods

### Validate

<span class="api-meta">protected · override · since v2.50</span>

Validates the request before a server processes it.

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

```csharp
protected override void Validate()
```

</div>

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

```vbnet
Protected Overrides Sub Validate()
```

</div>

**Overrides**

[Validate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest/members#validate)

**Remarks**

A server rejects the request with [BadNothingToDo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/#badnothingtodo) if it contains no commands or if the node identifier of a command is a null identifier; then none of the commands is executed.
