# OpcServerStatePropertyNode Members

> Reference: Defines a property node for server state properties.

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

Inherits members from [OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/members), [OpcVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvariablenode/members), [OpcInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/members), [OpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members).

## Constructors

### OpcServerStatePropertyNode

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

| Overload | Description |
|---|---|
| [OpcServerStatePropertyNode(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-uafx-opcname) | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` specified. |
| [OpcServerStatePropertyNode(OpcName, OpcServerState)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-uafx-opcname-opc-uafx-opcserverstate) | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` specified with the initial value given by `value`. |
| [OpcServerStatePropertyNode(OpcName, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-uafx-opcname-opc-uafx-opcnodeid) | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` and `id` specified. |
| [OpcServerStatePropertyNode(OpcName, OpcNodeId, OpcServerState)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-opcserverstate) | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` and `id` specified with the initial value given by `value`. |
| [OpcServerStatePropertyNode(IOpcNode, OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-uafx-iopcnode-opc-uafx-opcname) | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` specified as a child node of the `parent` node given. |
| [OpcServerStatePropertyNode(IOpcNode, OpcName, OpcServerState)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-opcserverstate) | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` specified with the initial value defined by `value` as a child node of the `parent` node given. |
| [OpcServerStatePropertyNode(IOpcNode, OpcName, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-opcnodeid) | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` and `id` specified as a child node of the `parent` node given. |
| [OpcServerStatePropertyNode(IOpcNode, OpcName, OpcNodeId, OpcServerState)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-opcserverstate) | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` and `id` specified with the initial value defined by `value` as a child node of the `parent` node given. |
| [OpcServerStatePropertyNode(PropertyState&lt;ServerState&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-ua-propertystate-of-opc-ua-serverstate)<span class="api-meta">protected · since v2.50</span> | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class using the `content` as the instance to wrap. |
| [OpcServerStatePropertyNode(PropertyState&lt;ServerState&gt;, OpcNodeModel)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#opcserverstatepropertynode-opc-ua-propertystate-of-opc-ua-serverstate-opc-uafx-opcnodemodel)<span class="api-meta">protected · since v2.50</span> | Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class using the `content` as the instance to wrap. |

#### OpcServerStatePropertyNode(OpcName)

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` specified.

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

```csharp
public OpcServerStatePropertyNode(OpcName name)
```

</div>

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

```vbnet
Public Sub New(name As OpcName)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) through that the new server state property node can be accessed. |

#### OpcServerStatePropertyNode(OpcName, OpcServerState)

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` specified with the initial value given by `value`.

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

```csharp
public OpcServerStatePropertyNode(OpcName name, OpcServerState value)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, value As OpcServerState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) through that the new server state property node can be accessed. |
| `value` | [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/) | The initial value of the new server state property node. |

#### OpcServerStatePropertyNode(OpcName, OpcNodeId)

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` and `id` specified.

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

```csharp
public OpcServerStatePropertyNode(OpcName name, OpcNodeId id)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, id As OpcNodeId)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) through that the new server state property node can be accessed. |
| `id` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) through that the new server state property node can be identified and accessed. |

#### OpcServerStatePropertyNode(OpcName, OpcNodeId, OpcServerState)

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` and `id` specified with the initial value given by `value`.

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

```csharp
public OpcServerStatePropertyNode(
    OpcName name,
    OpcNodeId id,
    OpcServerState value)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, id As OpcNodeId, value As OpcServerState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) through that the new server state property node can be accessed. |
| `id` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) through that the new server state property node can be identified and accessed. |
| `value` | [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/) | The initial value of the new server state property node. |

#### OpcServerStatePropertyNode(IOpcNode, OpcName)

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` specified as a child node of the `parent` node given.

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

```csharp
public OpcServerStatePropertyNode(IOpcNode parent, OpcName name)
```

</div>

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

```vbnet
Public Sub New(parent As IOpcNode, name As OpcName)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) through that the new server state property node can be accessed. |

#### OpcServerStatePropertyNode(IOpcNode, OpcName, OpcServerState)

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` specified with the initial value defined by `value` as a child node of the `parent` node given.

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

```csharp
public OpcServerStatePropertyNode(
    IOpcNode parent,
    OpcName name,
    OpcServerState value)
```

</div>

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

```vbnet
Public Sub New(parent As IOpcNode, name As OpcName, value As OpcServerState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) through that the new server state property node can be accessed. |
| `value` | [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/) | The initial value of the new server state property node. |

#### OpcServerStatePropertyNode(IOpcNode, OpcName, OpcNodeId)

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` and `id` specified as a child node of the `parent` node given.

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

```csharp
public OpcServerStatePropertyNode(IOpcNode parent, OpcName name, OpcNodeId id)
```

</div>

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

```vbnet
Public Sub New(parent As IOpcNode, name As OpcName, id As OpcNodeId)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) through that the new server state property node can be accessed. |
| `id` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) through that the new server state property node can be identified and accessed. |

#### OpcServerStatePropertyNode(IOpcNode, OpcName, OpcNodeId, OpcServerState)

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class accessible by the `name` and `id` specified with the initial value defined by `value` as a child node of the `parent` node given.

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

```csharp
public OpcServerStatePropertyNode(
    IOpcNode parent,
    OpcName name,
    OpcNodeId id,
    OpcServerState value)
```

</div>

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

```vbnet
Public Sub New(
    parent As IOpcNode,
    name As OpcName,
    id As OpcNodeId,
    value As OpcServerState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) | The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) through that the new server state property node can be accessed. |
| `id` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) through that the new server state property node can be identified and accessed. |
| `value` | [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/) | The initial value of the new server state property node. |

#### OpcServerStatePropertyNode(PropertyState&lt;ServerState&gt;)

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

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class using the `content` as the instance to wrap.

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

```csharp
protected OpcServerStatePropertyNode(PropertyState<ServerState> content)
```

</div>

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

```vbnet
Protected Sub New(content As PropertyState(Of ServerState))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `content` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.PropertyState">PropertyState</abbr>&lt;<abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ServerState">ServerState</abbr>&gt; | The <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.PropertyState">PropertyState&lt;T&gt;</abbr> to wrap. |

**Exceptions**

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

#### OpcServerStatePropertyNode(PropertyState&lt;ServerState&gt;, OpcNodeModel)

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

Initializes a new instance of the [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/) class using the `content` as the instance to wrap.

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

```csharp
protected OpcServerStatePropertyNode(
    PropertyState<ServerState> content,
    OpcNodeModel model)
```

</div>

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

```vbnet
Protected Sub New(
    content As PropertyState(Of ServerState),
    model As OpcNodeModel)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `content` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.PropertyState">PropertyState</abbr>&lt;<abbr title="OPC Foundation stack type, not documented here: Opc.Ua.ServerState">ServerState</abbr>&gt; | The <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.PropertyState">PropertyState&lt;T&gt;</abbr> to wrap. |
| `model` | [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) | The [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node. |

**Exceptions**

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

## Properties

### ReadServerStatePropertyValueCallback

Gets or sets a callback used to read the server state property value.

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

```csharp
public OpcReadServerStatePropertyValueCallback ReadServerStatePropertyValueCallback { get; set; }
```

</div>

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

```vbnet
Public Property ReadServerStatePropertyValueCallback As OpcReadServerStatePropertyValueCallback
```

</div>

**Property value**

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

A [OpcReadServerStatePropertyValueCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadserverstatepropertyvaluecallback/) used to read the server state property value as the type [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/). The value can also be a null reference (Nothing in Visual Basic).

**Remarks**

This callback is used in call chain with the [ReadPropertyValueCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/members#readpropertyvaluecallback) and will be called with the outcome of that callback routine (in case there is one defined).

### Value

Gets or sets the value of the property node.

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

```csharp
public OpcServerState Value { get; set; }
```

</div>

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

```vbnet
Public Property Value As OpcServerState
```

</div>

**Property value**

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

A value of the type [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/).

### WriteServerStatePropertyValueCallback

Gets or sets a callback used to write the server state property value.

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

```csharp
public OpcWriteServerStatePropertyValueCallback WriteServerStatePropertyValueCallback { get; set; }
```

</div>

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

```vbnet
Public Property WriteServerStatePropertyValueCallback As OpcWriteServerStatePropertyValueCallback
```

</div>

**Property value**

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

A [OpcWriteServerStatePropertyValueCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcwriteserverstatepropertyvaluecallback/) used to write the server state property value as the type [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/). The value can also be a null reference (Nothing in Visual Basic).

**Remarks**

This callback is used in call chain with the [WritePropertyValueCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/members#writepropertyvaluecallback) and will be called with the outcome of that callback routine (in case there is one defined).

## Methods

### ReadPropertyValueCore

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

Reads the value of the property node using the `context` and `value` information specified.

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

```csharp
protected override sealed OpcPropertyValue<object> ReadPropertyValueCore(
    OpcReadPropertyValueContext context,
    OpcPropertyValue<object> value)
```

</div>

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

```vbnet
Protected NotOverridable Overrides Function ReadPropertyValueCore(
    context As OpcReadPropertyValueContext,
    value As OpcPropertyValue(Of Object)) As OpcPropertyValue(Of Object)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcReadPropertyValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadpropertyvaluecontext/) | The [OpcReadPropertyValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadpropertyvaluecontext/) to use to read the property node value. |
| `value` | [OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[Object](https://learn.microsoft.com/dotnet/api/system.object)&gt; | The [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/) containing the currently used value constructed by the value information contained in the property node cache. |

**Returns**

[OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[Object](https://learn.microsoft.com/dotnet/api/system.object)&gt;

The [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/) read using the [ReadPropertyValueCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/members#readpropertyvaluecallback) or the `value` if there is no custom callback routine defined.

**Overrides**

[ReadPropertyValueCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/members#readpropertyvaluecore)

### ReadServerStatePropertyValueCore

<span class="api-meta">protected · virtual</span>

Reads the server state value of the property node using the `context` and `value` information specified.

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

```csharp
protected virtual OpcPropertyValue<OpcServerState> ReadServerStatePropertyValueCore(
    OpcReadPropertyValueContext<OpcServerStatePropertyNode> context,
    OpcPropertyValue<OpcServerState> value)
```

</div>

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

```vbnet
Protected Overridable Function ReadServerStatePropertyValueCore(
    context As OpcReadPropertyValueContext(Of OpcServerStatePropertyNode),
    value As OpcPropertyValue(Of OpcServerState)) As OpcPropertyValue(Of OpcServerState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcReadPropertyValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadpropertyvaluecontext-1/)&lt;[OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/)&gt; | The [OpcReadPropertyValueContext&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadpropertyvaluecontext-1/) to use to read the property node value. |
| `value` | [OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/)&gt; | The [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/) containing the currently used value constructed by the value information contained in the property node cache. |

**Returns**

[OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/)&gt;

The [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/) read using the [ReadServerStatePropertyValueCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#readserverstatepropertyvaluecallback) or the `value` if there is no custom callback routine defined.

### ReadServerStateValue

Reads the server state value of the property node.

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

```csharp
public OpcServerState ReadServerStateValue(OpcReadVariableValueContext context)
```

</div>

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

```vbnet
Public Function ReadServerStateValue(
    context As OpcReadVariableValueContext) As OpcServerState
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcReadVariableValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadvariablevaluecontext/) | The [OpcReadVariableValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadvariablevaluecontext/) to use when reading the value. |

**Returns**

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

The [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/) value of the server state property node read.

**Exceptions**

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

### WritePropertyValueCore

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

Writes the value of the property node using the `context` and `value` information specified.

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

```csharp
protected override sealed OpcPropertyValue<object> WritePropertyValueCore(
    OpcWritePropertyValueContext context,
    OpcPropertyValue<object> value)
```

</div>

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

```vbnet
Protected NotOverridable Overrides Function WritePropertyValueCore(
    context As OpcWritePropertyValueContext,
    value As OpcPropertyValue(Of Object)) As OpcPropertyValue(Of Object)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcWritePropertyValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcwritepropertyvaluecontext/) | The [OpcWritePropertyValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcwritepropertyvaluecontext/) to use to write the property node value. |
| `value` | [OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[Object](https://learn.microsoft.com/dotnet/api/system.object)&gt; | The [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/) containing the currently used value constructed by the value information contained in the property node cache. |

**Returns**

[OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[Object](https://learn.microsoft.com/dotnet/api/system.object)&gt;

The [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/) written using the [WritePropertyValueCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/members#writepropertyvaluecallback) or the `value` if there is no custom callback routine defined.

**Overrides**

[WritePropertyValueCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/members#writepropertyvaluecore)

### WriteServerStatePropertyValueCore

<span class="api-meta">protected · virtual</span>

Writes the server state value of the property node using the `context` and `value` information specified.

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

```csharp
protected virtual OpcPropertyValue<OpcServerState> WriteServerStatePropertyValueCore(
    OpcWritePropertyValueContext<OpcServerStatePropertyNode> context,
    OpcPropertyValue<OpcServerState> value)
```

</div>

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

```vbnet
Protected Overridable Function WriteServerStatePropertyValueCore(
    context As OpcWritePropertyValueContext(Of OpcServerStatePropertyNode),
    value As OpcPropertyValue(Of OpcServerState)) As OpcPropertyValue(Of OpcServerState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcWritePropertyValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcwritepropertyvaluecontext-1/)&lt;[OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/)&gt; | The [OpcWritePropertyValueContext&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcwritepropertyvaluecontext-1/) to use to write the property node value. |
| `value` | [OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/)&gt; | The [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/) containing the currently used value constructed by the value information contained in the property node cache. |

**Returns**

[OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/)&gt;

The [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/) written using the [WriteServerStatePropertyValueCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/members#writeserverstatepropertyvaluecallback) or the `value` if there is no custom callback routine defined.

### WriteServerStateValue

Writes the value of the property node specified by `value`.

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

```csharp
public void WriteServerStateValue(
    OpcWriteVariableValueContext context,
    OpcServerState value)
```

</div>

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

```vbnet
Public Sub WriteServerStateValue(
    context As OpcWriteVariableValueContext,
    value As OpcServerState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcWriteVariableValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcwritevariablevaluecontext/) | The [OpcWriteVariableValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcwritevariablevaluecontext/) to use when writing the value. |
| `value` | [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/) | The [OpcServerState](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstate/) value of the server state property node to write. |

**Exceptions**

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