# OpcServiceRequest&lt;TCommand, TCommands&gt; Class

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

<dl class="api-definition">
<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>Members</dt>
<dd><a href="./members">OpcServiceRequest&lt;TCommand, TCommands&gt; Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

## Syntax

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

```csharp
public abstract class OpcServiceRequest<TCommand, TCommands> : OpcServiceRequest
    where TCommand : class
    where TCommands : IList<TCommand>, new()
```

</div>

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

```vbnet
Public MustInherit Class OpcServiceRequest(Of TCommand As Class, TCommands As {IList(Of TCommand), New})
    Inherits OpcServiceRequest
```

</div>

## Type parameters

| Name | Description |
|---|---|
| `TCommand` |  |
| `TCommands` |  |

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → [OpcServiceRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest/) → **OpcServiceRequest&lt;TCommand, TCommands&gt;**

## Implements

<ul class="api-implements">
<li><a href="../opc.uafx.services.iopcservicerequest/">IOpcServiceRequest</a></li>
</ul>

## Derived types

- [OpcAddNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcaddnodesrequest/)
- [OpcAddReferencesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcaddreferencesrequest/)
- [OpcBrowseRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcbrowserequest/)
- [OpcCallMethodsRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opccallmethodsrequest/)
- [OpcDeleteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletenodesrequest/)
- [OpcDeleteReferencesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcdeletereferencesrequest/)
- [OpcReadEventsHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcreadeventshistoryrequest/)
- [OpcReadNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcreadnodeshistoryrequest/)
- [OpcReadNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcreadnodesrequest/)
- [OpcRegisterNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcregisternodesrequest/)
- [OpcTranslatePathsRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opctranslatepathsrequest/)
- [OpcUnregisterNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcunregisternodesrequest/)
- [OpcUpdateNodesHistoryRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcupdatenodeshistoryrequest/)
- [OpcWriteNodesRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcwritenodesrequest/)

## Constructors

| Name | Description |
|---|---|
| [OpcServiceRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest-2/members#opcservicerequest)<span class="api-meta">protected · 4 overloads</span> |  |

## Properties

| Name | Description |
|---|---|
| [Commands](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest-2/members#commands) |  |

Inherits members from [OpcServiceRequest](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.services.opcservicerequest/members).

## Applies to

| Package | Versions |
|---|---|
| Opc.UaFx.Advanced | v2.7–v2.59 |
