# IOpcVariableNodeInfo Members

> Reference: Defines an interface which can be used to access basic properties used over variable nodes in an immutable way.

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

Inherits members from [IOpcNodeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnodeinfo/members).

## Properties

### AccessLevel

Gets a value which indicates in which ways the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#value) attribute of the variable node can be accessed (read/write) and if it provides current and/or historic data.

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

```csharp
OpcAccessLevel AccessLevel { get; }
```

</div>

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

```vbnet
ReadOnly Property AccessLevel As OpcAccessLevel
```

</div>

**Property value**

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

A combination of the members defined by the [OpcAccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaccesslevel/) enumeration which does not take any user access rights into account.

### ArrayDimensions

Gets the number/lengths of dimensions for an array [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#value) with one or more fixed dimensions.

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

```csharp
OpcArrayDimensions ArrayDimensions { get; }
```

</div>

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

```vbnet
ReadOnly Property ArrayDimensions As OpcArrayDimensions
```

</div>

**Property value**

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

An instance of the [OpcArrayDimensions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcarraydimensions/) class which offers the number/lengths of dimensions for an array [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#value), or a null reference (Nothing in Visual Basic) if none are defined.

### DataTypeId

Gets the identifier which identifies the node that defines the type of data represented by the variable node.

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

```csharp
OpcNodeId DataTypeId { get; }
```

</div>

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

```vbnet
ReadOnly Property DataTypeId 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 data type node which defines the type of data accessible by the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#value) property.

### UserAccessLevel

Gets a value which indicates in which ways the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#value) attribute of the variable node can be accessed (read/write) and if it provides current and/or historic data taking user access rights into account.

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

```csharp
OpcAccessLevel UserAccessLevel { get; }
```

</div>

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

```vbnet
ReadOnly Property UserAccessLevel As OpcAccessLevel
```

</div>

**Property value**

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

A combination of the members defined by the [OpcAccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaccesslevel/) enumeration which takes user access rights into account.

### Value

Gets the value of the variable node.

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

```csharp
object Value { get; }
```

</div>

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

```vbnet
ReadOnly Property Value As Object
```

</div>

**Property value**

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

The value of the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the variable node.

### ValueRank

Gets the value rank of the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#value) of the variable node.

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

```csharp
int ValueRank { get; }
```

</div>

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

```vbnet
ReadOnly Property ValueRank As Integer
```

</div>

**Property value**

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

The value of the [ValueRank](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#valuerank) attribute which indicates whether the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#value) is a scalar or an array and the number of its dimensions, as defined by OPC UA.
