# OpcModifiedNodeHistory Class

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

<dl class="api-definition">
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.server">Opc.UaFx.Server</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">OpcModifiedNodeHistory Members</a></dd>
</dl>

Represents the modified history of a node: the values which have been inserted, replaced, updated or deleted, each together with the information about its modification.

## Syntax

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

```csharp
public class OpcModifiedNodeHistory
```

</div>

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

```vbnet
Public Class OpcModifiedNodeHistory
```

</div>

## Inheritance

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

## Implements

<ul class="api-implements">
<li><a href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerable">IEnumerable</a></li>
<li><a href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a href="../opc.uafx.opcmodifiedhistoryvalue/">OpcModifiedHistoryValue</a>&gt;</li>
</ul>

## Remarks

The values are sorted by the timestamp of the value (its [ServerTimestamp](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvalue/members#servertimestamp) or, if not set, its [SourceTimestamp](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvalue/members#sourcetimestamp)), not by the [Timestamp](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodifiedhistoryvalue/members#timestamp), which is the modification time. A timestamp occurs once per modification of the value at that time. Values with the same timestamp are sorted from the most recent to the oldest modification, and values with the same modification time in the order in which they have been added.

## Constructors

| Name | Description |
|---|---|
| [OpcModifiedNodeHistory](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#opcmodifiednodehistory)<span class="api-meta">4 overloads</span> | Initializes a new instance of the OpcModifiedNodeHistory class whose [Capacity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#capacity) is -1 (unlimited). |

## Properties

| Name | Description |
|---|---|
| [Capacity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#capacity) | Gets the maximum number of values the history keeps. |
| [Count](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#count) | Gets the number of values in the history. |
| [EnableRaisingEvents](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#enableraisingevents) | Gets or sets a value indicating whether the history raises its events. |
| [EndTime](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#endtime) | Gets the latest timestamp of the values in the history. |
| [StartTime](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#starttime) | Gets the earliest timestamp of the values in the history. |

## Methods

| Name | Description |
|---|---|
| [Add](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#add) | Adds the `value` specified to the history. |
| [AddRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#addrange)<span class="api-meta">2 overloads</span> | Adds the `values` specified to the history. |
| [Clear](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#clear) | Removes all values from the history. |
| [Contains](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#contains) | Determines whether the history contains a value with the `timestamp` specified. |
| [Enumerate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#enumerate)<span class="api-meta">3 overloads</span> | Gets the values of the history in their sort order. |
| [GetEnumerator](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#getenumerator) | Returns an enumerator which iterates through the values of the history. |
| [GetValues](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#getvalues) | Gets the values with the `timestamp` specified. |
| [OnAdded](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#onadded)<span class="api-meta">protected · virtual</span> | Raises the [Added](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#added) event. |
| [OnRemoved](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#onremoved)<span class="api-meta">protected · virtual</span> | Raises the [Removed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#removed) event. |
| [RemoveAt](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#removeat) | Removes the value at the `index` specified. |
| [RemoveRange](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#removerange)<span class="api-meta">2 overloads</span> | Removes the values whose timestamp is not earlier than the `startTime` specified. |

## Events

| Name | Description |
|---|---|
| [Added](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#added) | Occurs after values have been added to the history. |
| [Removed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#removed) | Occurs after values have been removed from the history, also if a value has been removed because the history reached its [Capacity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#capacity). |

## Indexers

| Name | Description |
|---|---|
| [Item](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcmodifiednodehistory/members#item) | Gets the value at the `index` specified. |

## Applies to

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