# OpcVariableNodeInfo Class

> Reference: Provides properties and methods for the examination of the attributes and references of a node which is classified as Variable.

<dl class="api-definition">
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.client">Opc.UaFx.Client</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">OpcVariableNodeInfo Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Provides properties and methods for the examination of the attributes and references of a node which is classified as [Variable](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodecategory/#variable).

## Syntax

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

```csharp
public class OpcVariableNodeInfo : OpcInstanceNodeInfo
```

</div>

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

```vbnet
Public Class OpcVariableNodeInfo
    Inherits OpcInstanceNodeInfo
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → [OpcNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcnodeinfo/) → [OpcInstanceNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcinstancenodeinfo/) → **OpcVariableNodeInfo**

## Implements

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

## Derived types

- [OpcAnalogItemNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcanalogitemnodeinfo/)
- [OpcDataTypeDescriptionNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatatypedescriptionnodeinfo/)
- [OpcDataTypeDictionaryNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatatypedictionarynodeinfo/)

## Properties

| Name | Description |
|---|---|
| [AccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#accesslevel) | Gets the value of the [AccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#accesslevel) attribute of the variable node represented. |
| [ArrayDimensions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#arraydimensions) | Gets the length for each dimension of an array value of the variable node represented. |
| [ArrayLength](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#arraylength) | Gets the total number of elements in all the dimensions of the array value of the variable node represented. |
| [ArrayRank](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#arrayrank) | Gets the rank (number of dimensions) of the array value of the variable node represented. |
| [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#datatype) | Gets the [OpcTypeNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opctypenodeinfo/) about the data type node of the variable node represented. |
| [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#datatypeid) | Gets the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) about the data type node of the variable node represented. |
| [IsArray](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#isarray) | Gets a value indicating whether the value of the variable represented is an array. |
| [IsHistorizing](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#ishistorizing) | Gets a value indicating whether the server is actively collecting data for the history of the variable node represented. |
| [UserAccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#useraccesslevel) | Gets the value of the [UserAccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#useraccesslevel) attribute of the variable node represented. |
| [UserWriteAccess](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#userwriteaccess) | Gets a mask that indicates which attributes are writable by the current user of the client of a node taking user access rights into account. |
| [WriteAccess](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#writeaccess) | Gets a mask that indicates which attributes are generally writable through the server not taking user access rights into account. |

## Methods

| Name | Description |
|---|---|
| [GetArrayLength](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#getarraylength) | Gets a 32-bit integer that represents the number of elements in the specified dimension of the array value of the variable node. |
| [GetArrayLowerBound](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#getarraylowerbound) | Gets the index of the first element of the specified dimension in the array value of the variable node. |
| [GetArrayUpperBound](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcvariablenodeinfo/members#getarrayupperbound) | Gets the index of the last element of the specified dimension in the array value of the variable node. |

Inherits members from [OpcInstanceNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcinstancenodeinfo/members), [OpcNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcnodeinfo/members).

## Applies to

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