# OpcStatus Members

> Reference: Provides information about the outcome of an operation.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcStatus</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>

## Constructors

### OpcStatus

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

| Overload | Description |
|---|---|
| [OpcStatus()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#opcstatus-noparams) | Initializes a new instance of the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) class which represents a 'neutral good' status. |
| [OpcStatus(OpcStatusCode)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#opcstatus-opc-uafx-opcstatuscode) | Initializes a new instance of the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) class which represents the information associated with the `code` specified. |

#### OpcStatus()

Initializes a new instance of the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) class which represents a 'neutral good' status.

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

```csharp
public OpcStatus()
```

</div>

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

```vbnet
Public Sub New()
```

</div>

#### OpcStatus(OpcStatusCode)

Initializes a new instance of the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) class which represents the information associated with the `code` specified.

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

```csharp
public OpcStatus(OpcStatusCode code)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Sub New(code As OpcStatusCode)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `code` | [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) | The [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) the information associated with the value is to be represented. |

## Properties

### AggregateBits

Gets a value indicating where aggregated data comes from.

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

```csharp
public OpcStatusAggregateBits AggregateBits { get; }
```

</div>

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

```vbnet
Public ReadOnly Property AggregateBits As OpcStatusAggregateBits
```

</div>

**Property value**

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

A combination of the members defined by the [OpcStatusAggregateBits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatusaggregatebits/) enumeration.

### Code

Gets the underlying status code its information is represented by the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

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

```csharp
public OpcStatusCode Code { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public ReadOnly Property Code As OpcStatusCode
```

</div>

**Property value**

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

One of the members defined by the [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) enumeration.

### 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.

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

```csharp
public uint CodeBits { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public ReadOnly Property CodeBits As UInteger
```

</div>

**Property value**

[UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)

The 16 bits used to provide status data without any extra information.

### Description

Gets a value which describes the status in detail.

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

```csharp
public string Description { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Description As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

A [string](https://learn.microsoft.com/dotnet/api/system.string) which describes the [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) represented in detail.

### 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.

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

```csharp
public uint FlagBits { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public ReadOnly Property FlagBits As UInteger
```

</div>

**Property value**

[UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)

The 16 bits used to provide additional information about the status.

### HasSemanticsChanged

Gets a value indicating that the semantics of the associated data value have changed. Clients should not process the data value until they re-read the metadata associated with the variable. Servers should set this property to true if the metadata has changed in way that could cause application errors if the Client does not re-read the metadata. This is for example a change to the engineering units.

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

```csharp
public bool HasSemanticsChanged { get; }
```

</div>

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

```vbnet
Public ReadOnly Property HasSemanticsChanged As Boolean
```

</div>

**Property value**

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

The value true if the semantic information of a value have changed and a Client needs to re-read the metadata before processing the data value; otherwise the value false.

**Remarks**

Other specifications may define additional conditions. A Server may define other conditions that cause this property to be equals true. This property is only used as part of data change notifications or historical read operations. In other contexts this property shall be equals false.

### HasStructureChanged

Gets a value indicating that the structure of the associated data value has changed since the last notification. Clients should not process the data value unless they re-read the metadata. Servers shall set this property to true if the data type encoding used for a variable or the enumeration information (via EnumStrings) of the data type of a variable changes.

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

```csharp
public bool HasStructureChanged { get; }
```

</div>

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

```vbnet
Public ReadOnly Property HasStructureChanged As Boolean
```

</div>

**Property value**

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

The value true if the Server wants to warn Clients, that parse complex data values, that their parsing routines could fail because the serialized form of the data value changed; otherwise the value false.

**Remarks**

This property is only used as part of data change notifications or historical read operations. In other contexts this property shall be equals false.

### HasValueInfo

Gets a value indicating that the status information is associated with a data value returned from the Server.

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

```csharp
public bool HasValueInfo { get; }
```

</div>

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

```vbnet
Public ReadOnly Property HasValueInfo As Boolean
```

</div>

**Property value**

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

The value true if the status information belongs to a data value returned from the Server; otherwise the value false.

### 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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). In the most cases a Client has performed an invalid or (at the moment) unsupported operation. Another reason for a bad status could be that the Server may fail to complete the requested operation upon internal issues with the underlying data source. For more details about specific bad status information see the "bad" members of the [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) enumeration.

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

```csharp
public bool IsBad { get; }
```

</div>

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

```vbnet
Public ReadOnly Property IsBad As Boolean
```

</div>

**Property value**

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

The value true if the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) expresses a failure; otherwise the value false.

### 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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). The Client can be sure about that the Server successfully completed the operation requested and its result is totally reliable. Specific "good" status codes may inform the Client about the circumstances under which the operation completed. For more details about specific good status information see the "good" members of the [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) enumeration.

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

```csharp
public bool IsGood { get; }
```

</div>

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

```vbnet
Public ReadOnly Property IsGood As Boolean
```

</div>

**Property value**

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

The value true if the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) expresses a good outcome; otherwise the value false.

### 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.

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

```csharp
public bool IsOverflow { get; }
```

</div>

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

```vbnet
Public ReadOnly Property IsOverflow As Boolean
```

</div>

**Property value**

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

The value true if the queue buffer of a monitored item reached its limit and had to purge out data.

**Remarks**

This property is only equals true if the monitored item queue size is greater than one.

### 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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). An operation with an uncertain outcome expresses in general that the Server can not guarantee a total reliable data value nor an entire complete and successful processing of an operation. The reasons to uncertains varying, for more details about specific uncertain status information see the "uncertain" members of the [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) enumeration.

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

```csharp
public bool IsUncertain { get; }
```

</div>

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

```vbnet
Public ReadOnly Property IsUncertain As Boolean
```

</div>

**Property value**

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

The value true if the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) expresses an uncertain and there not reliable outcome; otherwise the value false.

### LimitBits

Gets a value indicating the constraints a value falls within.

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

```csharp
public OpcStatusLimitBits LimitBits { get; }
```

</div>

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

```vbnet
Public ReadOnly Property LimitBits As OpcStatusLimitBits
```

</div>

**Property value**

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

A combination of the members defined by the [OpcStatusLimitBits](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuslimitbits/) enumeration.

### SubCode

Gets the code used to represent different conditions.

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

```csharp
public uint SubCode { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public ReadOnly Property SubCode As UInteger
```

</div>

**Property value**

[UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)

A value representing the condition under that the status was produced.

## Methods

### CompareTo

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

| Overload | Description |
|---|---|
| [CompareTo(object)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#compareto-system-object) | Compares the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) with the `other`. |
| [CompareTo(OpcStatus)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#compareto-opc-uafx-opcstatus) | Compares the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) with another [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). |

#### CompareTo(object)

Compares the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) with the `other`.

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

```csharp
public int CompareTo(object other)
```

</div>

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

```vbnet
Public Function CompareTo(other As Object) As Integer
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) to compare with this [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). |

**Returns**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

A 32-bit signed integer that indicates the relative order of the objects being compared ([CompareTo(object)](https://learn.microsoft.com/dotnet/api/system.icomparable.compareto)).

**Implements**

[CompareTo(object)](https://learn.microsoft.com/dotnet/api/system.icomparable.compareto)

#### CompareTo(OpcStatus)

Compares the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) with another [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

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

```csharp
public int CompareTo(OpcStatus other)
```

</div>

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

```vbnet
Public Function CompareTo(other As OpcStatus) As Integer
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) to compare with this [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). |

**Returns**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

A 32-bit signed integer that indicates the relative order of the objects being compared ([CompareTo(T)](https://learn.microsoft.com/dotnet/api/system.icomparable-1.compareto)).

**Implements**

[CompareTo(OpcStatus)](https://learn.microsoft.com/dotnet/api/system.icomparable-1.compareto)

### Equals

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

| Overload | Description |
|---|---|
| [Equals(object)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#equals-system-object)<span class="api-meta">override</span> | Determines whether the specified `other` is equal to this [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). |
| [Equals(OpcStatus)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#equals-opc-uafx-opcstatus) | Determines whether the specified `other` is equal to this [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). |

#### Equals(object)

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

Determines whether the specified `other` is equal to this [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

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

```csharp
public override bool Equals(object other)
```

</div>

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

```vbnet
Public Overrides Function Equals(other As Object) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [Object](https://learn.microsoft.com/dotnet/api/system.object) | The [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) to compare to the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). |

**Returns**

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

The value true if the specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) is equal to the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/); otherwise the value false.

**Overrides**

[Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals%28system-object%29)

#### Equals(OpcStatus)

Determines whether the specified `other` is equal to this [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

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

```csharp
public bool Equals(OpcStatus other)
```

</div>

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

```vbnet
Public Function Equals(other As OpcStatus) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) to compare to the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). |

**Returns**

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

The value true if the specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) is equal to the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/); otherwise the value false.

**Implements**

[Equals(OpcStatus)](https://learn.microsoft.com/dotnet/api/system.iequatable-1.equals)

### GetHashCode

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

Retrieves a hash code for this [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

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

```csharp
public override int GetHashCode()
```

</div>

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

```vbnet
Public Overrides Function GetHashCode() As Integer
```

</div>

**Returns**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

An [int](https://learn.microsoft.com/dotnet/api/system.int32) that contains the hash code for the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

**Overrides**

[GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)

### 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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

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

```csharp
protected virtual void OnChanged(EventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnChanged(e As EventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [EventArgs](https://learn.microsoft.com/dotnet/api/system.eventargs) | The event data. |

### ToString

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

Returns a string that represents the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

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

```csharp
public override string ToString()
```

</div>

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

```vbnet
Public Overrides Function ToString() As String
```

</div>

**Returns**

[String](https://learn.microsoft.com/dotnet/api/system.string)

A string that represents the current [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) including the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) and [Description](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#description) of the status represented.

**Overrides**

[ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

### Update

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

| Overload | Description |
|---|---|
| [Update(OpcStatusCode)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#update-opc-uafx-opcstatuscode) | Updates the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) represented by the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) using the `code` specified. |
| [Update(OpcStatus)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#update-opc-uafx-opcstatus)<span class="api-meta">since v2.8</span> | Updates the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) using the status data of the `other`[OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/). |

#### Update(OpcStatusCode)

Updates the [Code](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#code) represented by the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) using the `code` specified.

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

```csharp
public void Update(OpcStatusCode code)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Sub Update(code As OpcStatusCode)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `code` | [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) | The [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) to represent. |

**Remarks**

Updating the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) results into [Changed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#changed) events.

#### Update(OpcStatus)

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

Updates the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) using the status data of the `other`[OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/).

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

```csharp
public void Update(OpcStatus other)
```

</div>

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

```vbnet
Public Sub Update(other As OpcStatus)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `other` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The other [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) its status information is to be adopted. |

**Remarks**

Updating the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) results into [Changed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#changed) events.

## Events

### Changed

Occurs when the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) changes.

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

```csharp
public event EventHandler Changed
```

</div>

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

```vbnet
Public Event Changed As EventHandler
```

</div>

**Event type**

[EventHandler](https://learn.microsoft.com/dotnet/api/system.eventhandler)

## Operators

### Equality

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

Returns a value indicating whether two instance of [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) are equal.

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

```csharp
public static bool operator ==(OpcStatus left, OpcStatus right)
```

</div>

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

```vbnet
Public Shared Operator =(left As OpcStatus, right As OpcStatus) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The first [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) to compare. |
| `right` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The second [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) to compare. |

**Returns**

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

The value true if left and right are equal; otherwise the value false.

### GreaterThan

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

Determines whether the first specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object is greater than the second specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object.

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

```csharp
public static bool operator >(OpcStatus left, OpcStatus right)
```

</div>

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

```vbnet
Public Shared Operator >(left As OpcStatus, right As OpcStatus) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The first [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |
| `right` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The second [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |

**Returns**

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

The value true if `left` is greater than `right`; otherwise, false.

### GreaterThanOrEqual

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

Determines whether the first specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object is greater than or equal to the second specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object.

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

```csharp
public static bool operator >=(OpcStatus left, OpcStatus right)
```

</div>

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

```vbnet
Public Shared Operator >=(left As OpcStatus, right As OpcStatus) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The first [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |
| `right` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The second [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |

**Returns**

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

The value true if `left` is greater than or equal to `right`; otherwise, false.

### Implicit

<span class="api-meta">static · 2 overloads</span>

| Overload | Description |
|---|---|
| [implicit operator OpcStatus(OpcStatusCode)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-implicit-opc-uafx-opcstatuscode-opc-uafx-opcstatus)<span class="api-meta">static</span> | Converts a [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) to an [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |
| [implicit operator OpcStatus(StatusCode)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#op-implicit-opc-ua-statuscode-opc-uafx-opcstatus)<span class="api-meta">static</span> | Converts a <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.StatusCode">StatusCode</abbr> to an [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |

#### implicit operator OpcStatus(OpcStatusCode)

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

Converts a [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) to an [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object.

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

```csharp
public static implicit operator OpcStatus(OpcStatusCode value)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Shared Widening Operator CType(value As OpcStatusCode) As OpcStatus
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) | A [OpcStatusCode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/) that represents the status. |

**Returns**

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

An instance of the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) class initialized from the `value`.

#### implicit operator OpcStatus(StatusCode)

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

Converts a <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.StatusCode">StatusCode</abbr> to an [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object.

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

```csharp
public static implicit operator OpcStatus(StatusCode value)
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public Shared Widening Operator CType(value As StatusCode) As OpcStatus
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `value` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.StatusCode">StatusCode</abbr> | A <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.StatusCode">StatusCode</abbr> that represents the status. |

**Returns**

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

An instance of the [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) class initialized from the `value`.

### Inequality

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

Returns a value indicating whether two instances of [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) are not equal.

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

```csharp
public static bool operator !=(OpcStatus left, OpcStatus right)
```

</div>

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

```vbnet
Public Shared Operator <>(left As OpcStatus, right As OpcStatus) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The first [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) to compare. |
| `right` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The second [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) to compare. |

**Returns**

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

The value true if left and right are not equal; otherwise the value false.

### LessThan

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

Determines whether the first specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object is less than the second specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object.

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

```csharp
public static bool operator <(OpcStatus left, OpcStatus right)
```

</div>

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

```vbnet
Public Shared Operator <(left As OpcStatus, right As OpcStatus) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The first [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |
| `right` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The second [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |

**Returns**

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

The value true if `left` is less than `right`; otherwise the value false.

**Exceptions**

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

### LessThanOrEqual

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

Determines whether the first specified [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object is less than or equal to the second [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object.

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

```csharp
public static bool operator <=(OpcStatus left, OpcStatus right)
```

</div>

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

```vbnet
Public Shared Operator <=(left As OpcStatus, right As OpcStatus) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `left` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The first [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |
| `right` | [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) | The second [OpcStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/) object. |

**Returns**

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

The value true if `left` is less than or equal to `right`; otherwise the value false.

**Exceptions**

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