# OpcDataVariableNode Class

<dl class="api-definition">
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx">Opc.UaFx</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Members</dt>
<dd><a href="./members">OpcDataVariableNode Members</a></dd>
</dl>

Provides a node to represent complex data structures expose their information as complex data types, as well as components in the address space. This allows access to simple values as well as access to the whole information at once in a transactional context.

## Syntax

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

```csharp
public class OpcDataVariableNode : OpcVariableNode
```

</div>

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

```vbnet
<OpcNodeType(63)>
Public Class OpcDataVariableNode
    Inherits OpcVariableNode
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → [OpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/) → [OpcInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/) → [OpcVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvariablenode/) → **OpcDataVariableNode**

## Implements

<ul class="api-implements">
<li><a href="../opc.uafx.iopcnode/">IOpcNode</a></li>
<li><a href="../opc.uafx.iopcnodeinfo/">IOpcNodeInfo</a></li>
<li><a href="../opc.uafx.iopcvariablenodeinfo/">IOpcVariableNodeInfo</a></li>
</ul>

## Derived types

- [OpcConditionVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcconditionvariablenode/)
- [OpcDataItemNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdataitemnode/)
- [OpcDataVariableNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatavariablenode-1/)
- [OpcNodeIdArrayVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidarrayvariablenode/)
- [OpcNodeIdVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidvariablenode/)
- [OpcTextVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctextvariablenode/)

## Remarks

The data variable node is a specialization of the [OpcVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvariablenode/) there its reference type is [HasComponent](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#hascomponent) and its type definition is [BaseDataVariable](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvariabletype/#basedatavariable).

For example, the ServerStatus variable of the server object is modelled as a complex data variable having the ServerStatusDataType providing all information about the server status. But it also exposes the CurrentTime as a simple data variable, because a client may want to read only the current time of the server, and is not interested in the build information, etc.

## Constructors

| Name | Description |
|---|---|
| [OpcDataVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatavariablenode/members#opcdatavariablenode)<span class="api-meta">18 overloads</span> | Initializes a new instance of the OpcDataVariableNode class accessible by the `name` specified. |

## Properties

| Name | Description |
|---|---|
| [DefaultTypeDefinitionId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatavariablenode/members#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. |

Inherits members from [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).

## Applies to

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