# IOpcNode Interface

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

Defines an interface which can be used to access and change the properties of a node and to notify about the changes performed on it.

## Syntax

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

```csharp
public interface IOpcNode
```

</div>

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

```vbnet
Public Interface IOpcNode
```

</div>

## Base interfaces

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

## Derived types

- [OpcAcknowledgeableConditionNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcacknowledgeableconditionnode/)
- [OpcActionMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcactionmethodnode/)
- [OpcAddCommentMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaddcommentmethodnode/)
- [OpcAggregateConfigurationNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcaggregateconfigurationnode/)
- [OpcAlarmConditionNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcalarmconditionnode/)
- [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/)
- [OpcConditionNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcconditionnode/)
- [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/)
- [OpcDataTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypenode/)
- [OpcDataTypeNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypenode-1/)
- [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/)
- [OpcDialogConditionNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdialogconditionnode/)
- [OpcDialogResponseMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdialogresponsemethodnode/)
- [OpcDiscreteAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdiscretealarmnode/)
- [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/)
- [OpcEventNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventnode/)
- [OpcExclusiveDeviationAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexclusivedeviationalarmnode/)
- [OpcExclusiveLevelAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexclusivelevelalarmnode/)
- [OpcExclusiveLimitAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexclusivelimitalarmnode/)
- [OpcExclusiveLimitStateMachineNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexclusivelimitstatemachinenode/)
- [OpcExclusiveRateOfChangeAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexclusiverateofchangealarmnode/)
- [OpcFileCloseMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfileclosemethodnode/)
- [OpcFileGetPositionMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilegetpositionmethodnode/)
- [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/)
- [OpcFileOpenMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfileopenmethodnode/)
- [OpcFileReadMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilereadmethodnode/)
- [OpcFileSetPositionMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilesetpositionmethodnode/)
- [OpcFileWriteMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilewritemethodnode/)
- [OpcFiniteStateMachineNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfinitestatemachinenode/)
- [OpcFiniteStateMachineNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfinitestatemachinenode-1/)
- [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/)
- [OpcFolderNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfoldernode/)
- [OpcGeneralModelChangeEventNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcgeneralmodelchangeeventnode/)
- [OpcHistoryConfigurationNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opchistoryconfigurationnode/)
- [OpcInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/)
- [OpcLimitAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opclimitalarmnode/)
- [OpcMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmethodnode/)
- [OpcMethodNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmethodnode-1/)
- [OpcModelChangeEventNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeeventnode/)
- [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/)
- [OpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/)
- [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/)
- [OpcNodeTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode/)
- [OpcNodeTypeNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypenode-1/)
- [OpcNonExclusiveDeviationAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnonexclusivedeviationalarmnode/)
- [OpcNonExclusiveLevelAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnonexclusivelevelalarmnode/)
- [OpcNonExclusiveLimitAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnonexclusivelimitalarmnode/)
- [OpcNonExclusiveRateOfChangeAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnonexclusiverateofchangealarmnode/)
- [OpcObjectNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjectnode/)
- [OpcOffNormalAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcoffnormalalarmnode/)
- [OpcOrderedObjectListNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcorderedobjectlistnode/)
- [OpcOrderedObjectNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcorderedobjectnode/)
- [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/)
- [OpcShelvedStateMachineNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcshelvedstatemachinenode/)
- [OpcStateMachineNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatemachinenode/)
- [OpcStateNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatenode/)
- [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/)
- [OpcTimedShelveMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctimedshelvemethodnode/)
- [OpcTransitionNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctransitionnode/)
- [OpcTransitionVariableNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctransitionvariablenode/)
- [OpcTripAlarmNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctripalarmnode/)
- [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/)
- [OpcTypeNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypenode/)
- [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 |
|---|---|
| [Description](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#description) | Gets or sets the value of the optional [Description](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#description) attribute which shall explain the meaning of the node. |
| [DisplayName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#displayname)<span class="api-meta">since v2.7</span> | Gets or sets the value of the [DisplayName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#displayname) attribute which defines the localizable name of the node. |
| [HasPendingChanges](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#haspendingchanges) | Gets a value indicating whether there exists any pending change on the node. |
| [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#name)<span class="api-meta">since v2.7</span> | Gets or sets the value of the [BrowseName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#browsename) attribute which defines the non-localizable human-readable name used when browsing the address space. |
| [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#namespace) | Gets the namespace of the node. |
| [Parent](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#parent) | Gets the parent node of the node. |
| [PendingChanges](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#pendingchanges) | Gets a value indicating the changes performed on the node since their last notification. |
| [Tag](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#tag) | Gets or sets the object that contains additional user data about the node. |
| [UserWriteAccess](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#userwriteaccess) | Gets or sets the value of the optional [UserWriteAccess](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#userwriteaccess) attribute which exposes the possibilities of a client to write the attributes of the node taking user access rights into account. |
| [WriteAccess](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#writeaccess) | Gets or sets the value of the optional [WriteAccess](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#writeaccess) attribute which exposes the posibilities of a client to write the attributes of the node. |

## Methods

| Name | Description |
|---|---|
| [AddNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#addnotifier) | Adds the `node` to the collection of notifiers (= event sources) of this node. |
| [ApplyChanges](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#applychanges)<span class="api-meta">2 overloads</span> | Notifies about changes performed on the node since the last notification and resets the pending changes to [None](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodechanges/#none). |
| [Child](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#child)<span class="api-meta">since v2.7</span> | Retrieves the child node its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnodeinfo/members#name) property matches exactly the `name` specified. |
| [Children](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#children) | Retrieves a sequence of all nodes organized as children of this node. |
| [IsChangePending](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#ischangepending) | Determines whether all of the changes specified by the `change` are pending on the node (see [PendingChanges](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#pendingchanges)). |
| [RemoveNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/members#removenotifier) | Removes the `node` from the collection of notifiers (= event sources) of this 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.5–v2.59 |
