# OpcStatus Class

<dl class="api-definition">
<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>Members</dt>
<dd><a href="./members">OpcStatus Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Provides information about the outcome of an operation.

## Syntax

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

```csharp
public class OpcStatus
```

</div>

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

```vbnet
Public Class OpcStatus
```

</div>

## Inheritance

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

## Implements

<ul class="api-implements">
<li><a href="https://learn.microsoft.com/dotnet/api/system.icomparable">IComparable</a></li>
<li><a href="https://learn.microsoft.com/dotnet/api/system.icomparable-1">IComparable</a>&lt;OpcStatus&gt;</li>
<li><a href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable</a>&lt;OpcStatus&gt;</li>
</ul>

## Constructors

| Name | Description |
|---|---|
| [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#opcstatus)<span class="api-meta">2 overloads</span> | Initializes a new instance of the OpcStatus class which represents a 'neutral good' status. |

## Properties

| Name | Description |
|---|---|
| [AggregateBits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#aggregatebits) | Gets a value indicating where aggregated data comes from. |
| [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) | Gets the underlying status code its information is represented by the OpcStatus. |
| [CodeBits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#codebits) | Gets the bits (16:31) of the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) used to provide status data without any extra information. |
| [Description](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#description) | Gets a value which describes the status in detail. |
| [FlagBits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#flagbits) | Gets the bits (0:15) of the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) used to provide additional information about the status. |
| [HasSemanticsChanged](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#hassemanticschanged) | Gets a value indicating that the semantics of the associated data value have changed. |
| [HasStructureChanged](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#hasstructurechanged) | Gets a value indicating that the structure of the associated data value has changed since the last notification. |
| [HasValueInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#hasvalueinfo) | Gets a value indicating that the status information is associated with a data value returned from the Server. |
| [IsBad](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#isbad) | Gets a value indicating whether the status [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) expresses a bad outcome of the operation associated with this OpcStatus. |
| [IsGood](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#isgood) | Gets a value indicating whether the status [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) expresses a good outcome of the operation associated with this OpcStatus. |
| [IsOverflow](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#isoverflow) | Gets a value indicating that not every detected change has been returned since the Servers queue buffer of a monitored item reached its limit and had to purge out data. |
| [IsUncertain](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#isuncertain) | Gets a value indicating whether the status [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) expresses an uncertain outcome of the operation associated with this OpcStatus. |
| [LimitBits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#limitbits) | Gets a value indicating the constraints a value falls within. |
| [SubCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#subcode) | Gets the code used to represent different conditions. |

## Methods

| Name | Description |
|---|---|
| [CompareTo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#compareto)<span class="api-meta">2 overloads</span> | Compares the current OpcStatus with the `other`. |
| [Equals](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#equals)<span class="api-meta">2 overloads</span> | Determines whether the specified `other` is equal to this OpcStatus. |
| [GetHashCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#gethashcode)<span class="api-meta">override</span> | Retrieves a hash code for this OpcStatus. |
| [OnChanged](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#onchanged)<span class="api-meta">protected · virtual</span> | Raises the [Changed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#changed) event of the OpcStatus. |
| [ToString](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#tostring)<span class="api-meta">override</span> | Returns a string that represents the current OpcStatus. |
| [Update](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#update)<span class="api-meta">2 overloads</span> | Updates the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) represented by the OpcStatus using the `code` specified. |

## Events

| Name | Description |
|---|---|
| [Changed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#changed) | Occurs when the OpcStatus changes. |

## Operators

| Name | Description |
|---|---|
| [Equality](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-equality)<span class="api-meta">static</span> | Returns a value indicating whether two instance of OpcStatus are equal. |
| [GreaterThan](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-greaterthan)<span class="api-meta">static</span> | Determines whether the first specified OpcStatus object is greater than the second specified OpcStatus object. |
| [GreaterThanOrEqual](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-greaterthanorequal)<span class="api-meta">static</span> | Determines whether the first specified OpcStatus object is greater than or equal to the second specified OpcStatus object. |
| [Implicit](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-implicit)<span class="api-meta">static · 2 overloads</span> | Converts a [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) to an OpcStatus object. |
| [Inequality](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-inequality)<span class="api-meta">static</span> | Returns a value indicating whether two instances of OpcStatus are not equal. |
| [LessThan](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-lessthan)<span class="api-meta">static</span> | Determines whether the first specified OpcStatus object is less than the second specified OpcStatus object. |
| [LessThanOrEqual](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-lessthanorequal)<span class="api-meta">static</span> | Determines whether the first specified OpcStatus object is less than or equal to the second OpcStatus object. |

## Applies to

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