# IOpcVariableNodeInfo Interface

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

<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">IOpcVariableNodeInfo Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

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

## Syntax

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

```csharp
public interface IOpcVariableNodeInfo
```

</div>

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

```vbnet
Public Interface IOpcVariableNodeInfo
```

</div>

## Base interfaces

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

## Derived types

- [OpcAnalogItemNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcanalogitemnode/)
- [OpcAnalogItemNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcanalogitemnode-1/)
- [OpcAnalogUnitNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcanalogunitnode/)
- [OpcAnalogUnitNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcanalogunitnode-1/)
- [OpcAnalogUnitRangeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcanalogunitrangenode/)
- [OpcAnalogUnitRangeNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcanalogunitrangenode-1/)
- [OpcConditionVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcconditionvariablenode/)
- [OpcConditionVariableNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcconditionvariablenode-1/)
- [OpcDataItemNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdataitemnode/)
- [OpcDataItemNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdataitemnode-1/)
- [OpcDataTypeDictionaryNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionarynode/)
- [OpcDataVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatavariablenode/)
- [OpcDataVariableNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatavariablenode-1/)
- [OpcDiscreteItemNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdiscreteitemnode/)
- [OpcDiscreteItemNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdiscreteitemnode-1/)
- [OpcEngineeringUnitInfoPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcengineeringunitinfopropertynode/)
- [OpcEnumValuesPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcenumvaluespropertynode/)
- [OpcFiniteStateVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfinitestatevariablenode/)
- [OpcFiniteTransitionVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfinitetransitionvariablenode/)
- [OpcMultiStateDiscreteNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmultistatediscretenode/)
- [OpcMultiStateDiscreteNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmultistatediscretenode-1/)
- [OpcMultiStateValueDiscreteNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmultistatevaluediscretenode/)
- [OpcMultiStateValueDiscreteNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmultistatevaluediscretenode-1/)
- [OpcNamePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepropertynode/)
- [OpcNodeIdArrayVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidarrayvariablenode/)
- [OpcNodeIdPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidpropertynode/)
- [OpcNodeIdVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidvariablenode/)
- [OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode/)
- [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)
- [OpcServerStatePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcserverstatepropertynode/)
- [OpcStateVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatevariablenode/)
- [OpcStatusConditionVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatusconditionvariablenode/)
- [OpcTextArrayPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctextarraypropertynode/)
- [OpcTextConditionVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctextconditionvariablenode/)
- [OpcTextPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctextpropertynode/)
- [OpcTextVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctextvariablenode/)
- [OpcTransitionVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctransitionvariablenode/)
- [OpcTwoStateDiscreteNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctwostatediscretenode/)
- [OpcTwoStateVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctwostatevariablenode/)
- [OpcValueRangePropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvaluerangepropertynode/)
- [OpcVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvariablenode/)

## Properties

| Name | Description |
|---|---|
| [AccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#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. |
| [ArrayDimensions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#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. |
| [DataTypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#datatypeid) | Gets the identifier which identifies the node that defines the type of data represented by the variable node. |
| [UserAccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#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. |
| [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#value) | Gets the value of the variable node. |
| [ValueRank](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcvariablenodeinfo/members#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. |

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

## Applies to

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