# OpcStateVariableNode Members

> Reference: Defines a variable node which stores the current state of a state machine as a human readable name.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcStateVariableNode</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 [OpcTextVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctextvariablenode/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

### OpcStateVariableNode

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

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

#### OpcStateVariableNode(OpcName)

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

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

```csharp
public OpcStateVariableNode(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 state variable node can be accessed. |

#### OpcStateVariableNode(OpcName, OpcText)

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

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

```csharp
public OpcStateVariableNode(OpcName name, OpcText value)
```

</div>

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

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

</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 state variable node can be accessed. |
| `value` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | The initial value of the new state variable node. |

#### OpcStateVariableNode(OpcName, OpcNodeId)

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

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

```csharp
public OpcStateVariableNode(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 state variable 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 state variable node can be identified and accessed. |

#### OpcStateVariableNode(OpcName, OpcNodeId, OpcText)

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

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

```csharp
public OpcStateVariableNode(OpcName name, OpcNodeId id, OpcText value)
```

</div>

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

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

</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 state variable 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 state variable node can be identified and accessed. |
| `value` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | The initial value of the new state variable node. |

#### OpcStateVariableNode(IOpcNode, OpcName)

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

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

```csharp
public OpcStateVariableNode(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 state variable node can be accessed. |

#### OpcStateVariableNode(IOpcNode, OpcName, OpcText)

Initializes a new instance of the [OpcStateVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatevariablenode/) 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 OpcStateVariableNode(IOpcNode parent, OpcName name, OpcText value)
```

</div>

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

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

</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 state variable node can be accessed. |
| `value` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | The initial value of the new state variable node. |

#### OpcStateVariableNode(IOpcNode, OpcName, OpcNodeId)

Initializes a new instance of the [OpcStateVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatevariablenode/) 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 OpcStateVariableNode(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 state variable 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 state variable node can be identified and accessed. |

#### OpcStateVariableNode(IOpcNode, OpcName, OpcNodeId, OpcText)

Initializes a new instance of the [OpcStateVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatevariablenode/) 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 OpcStateVariableNode(
    IOpcNode parent,
    OpcName name,
    OpcNodeId id,
    OpcText value)
```

</div>

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

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

</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 state variable 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 state variable node can be identified and accessed. |
| `value` | [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) | The initial value of the new state variable node. |

#### OpcStateVariableNode(StateVariableState)

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

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

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

```csharp
protected OpcStateVariableNode(StateVariableState content)
```

</div>

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

```vbnet
Protected Sub New(content As StateVariableState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `content` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.StateVariableState">StateVariableState</abbr> | The <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.StateVariableState">StateVariableState</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). |

#### OpcStateVariableNode(StateVariableState, OpcNodeModel)

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

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

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

```csharp
protected OpcStateVariableNode(StateVariableState content, OpcNodeModel model)
```

</div>

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

```vbnet
Protected Sub New(content As StateVariableState, model As OpcNodeModel)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `content` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.StateVariableState">StateVariableState</abbr> | The <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.StateVariableState">StateVariableState</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

### DefaultTypeDefinitionId

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

Gets the default identifier which identifies the node that defines the underlying node type from that this [OpcInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/) has been created.

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

```csharp
protected override OpcNodeId DefaultTypeDefinitionId { get; }
```

</div>

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

```vbnet
Protected Overrides ReadOnly Property DefaultTypeDefinitionId As OpcNodeId
```

</div>

**Property value**

[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/) of the type node from that this [OpcInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/) has been created from. These type node defines the typical structure of an instance node of its type definition. If there exists no specific type definition node a null reference (Nothing in Visual Basic).

**Overrides**

[DefaultTypeDefinitionId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatavariablenode/members#defaulttypedefinitionid)

### EffectiveDisplayName

Gets or sets a value which contains a human readable name for the current state of the state machine after taking the state of any sub state machines in account.

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

```csharp
public OpcText EffectiveDisplayName { get; set; }
```

</div>

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

```vbnet
Public Property EffectiveDisplayName As OpcText
```

</div>

**Property value**

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

The effective [OpcText](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctext/) of the state represented.

**Remarks**

There is no rule specified for which state or sub-state should be used. It is up to the server and will depend on the semantics of the state machine.

### EffectiveDisplayNameNode

Gets the [OpcTextPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctextpropertynode/) of the [EffectiveDisplayName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatevariablenode/members#effectivedisplayname) property.

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

```csharp
public OpcTextPropertyNode EffectiveDisplayNameNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property EffectiveDisplayNameNode As OpcTextPropertyNode
```

</div>

**Property value**

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

An instance of the [OpcTextPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctextpropertynode/) class.

### Number

Gets or sets a numeric identifier which identifies the current state within the state machine.

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

```csharp
public uint Number { get; set; }
```

</div>

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

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

</div>

**Property value**

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

The identifier of the current state within the state machine.

### NumberNode

Gets the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) of the [Number](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatevariablenode/members#number) property.

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

```csharp
public OpcPropertyNode<uint> NumberNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property NumberNode As OpcPropertyNode(Of UInteger)
```

</div>

**Property value**

[OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)&lt;[UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)&gt;

An instance of the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) class.

### VariableId

Gets or sets a value which uniquely identifies the current state within the state machine.

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

```csharp
public object VariableId { get; set; }
```

</div>

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

```vbnet
Public Property VariableId As Object
```

</div>

**Property value**

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

A value which uniquely identifies the current state within the state machine.

### VariableIdNode

Gets the [OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/) of the [VariableId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatevariablenode/members#variableid) property.

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

```csharp
public OpcPropertyNode VariableIdNode { get; protected set; }
```

</div>

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

```vbnet
Public Property VariableIdNode As OpcPropertyNode
```

</div>

**Property value**

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

An instance of the [OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/) class.

### VariableName

Gets or sets the name which uniquely identifies the current state within the state machine.

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

```csharp
public OpcName VariableName { get; set; }
```

</div>

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

```vbnet
Public Property VariableName As OpcName
```

</div>

**Property value**

[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/) which uniquely identifies the current state within the state machine.

### VariableNameNode

Gets the [OpcNamePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepropertynode/) of the [VariableName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatevariablenode/members#variablename) property.

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

```csharp
public OpcNamePropertyNode VariableNameNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property VariableNameNode As OpcNamePropertyNode
```

</div>

**Property value**

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

An instance of the [OpcNamePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepropertynode/) class.
