# OpcOperationType Class

> Reference: Represents the type of an operation which an OpcAccessControlEntry allows or denies.

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

<dl class="api-definition">
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.server">Opc.UaFx.Server</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">OpcOperationType Members</a></dd>
</dl>

Represents the type of an operation which an [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) allows or denies.

## Syntax

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

```csharp
public abstract class OpcOperationType
```

</div>

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

```vbnet
Public MustInherit Class OpcOperationType
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → **OpcOperationType**

## Derived types

- [OpcRequestOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequestoperationtype/)

## Remarks

Two operation types are the same operation if their [Key](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/members#key) values are equal.

## Constructors

| Name | Description |
|---|---|
| [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/members#opcoperationtype)<span class="api-meta">protected</span> | Initializes a new instance of the OpcOperationType class. |

## Properties

| Name | Description |
|---|---|
| [Key](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/members#key)<span class="api-meta">abstract</span> | When overridden in a derived class, gets the key which identifies the operation. |

## Applies to

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