# OpcModelChangeItem Members

> Reference: Represents changes in the model regarding a specific node affected by the change actions.

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

## Constructors

### OpcModelChangeItem

<span class="api-meta">2 overloads</span>

| Overload | Description |
|---|---|
| [OpcModelChangeItem(OpcNodeId, OpcModelChangeActions)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/members#opcmodelchangeitem-opc-uafx-opcnodeid-opc-uafx-opcmodelchangeactions) | Initializes a new instance of the [OpcModelChangeItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/) class with the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) (`affected`) of the node affected by the change `actions`. |
| [OpcModelChangeItem(OpcNodeId, OpcNodeId, OpcModelChangeActions)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/members#opcmodelchangeitem-opc-uafx-opcnodeid-opc-uafx-opcnodeid-opc-uafx-opcmodelchangeactions) | Initializes a new instance of the [OpcModelChangeItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/) class with the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) (`affected`) of the node affected, the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) (`affectedType`) of the type definition of the node affected and the change `actions`&gt; applied. |

**Exceptions (all overloads)**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `actions` do not indicate any change. |

#### OpcModelChangeItem(OpcNodeId, OpcModelChangeActions)

Initializes a new instance of the [OpcModelChangeItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/) class with the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) (`affected`) of the node affected by the change `actions`.

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

```csharp
public OpcModelChangeItem(OpcNodeId affected, OpcModelChangeActions actions)
```

</div>

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

```vbnet
Public Sub New(affected As OpcNodeId, actions As OpcModelChangeActions)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `affected` | [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 node affected. |
| `actions` | [OpcModelChangeActions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeactions/) | The [OpcModelChangeActions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeactions/) indicating the change actions applied to the node. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `affected` is a null reference (Nothing in Visual Basic). |

#### OpcModelChangeItem(OpcNodeId, OpcNodeId, OpcModelChangeActions)

Initializes a new instance of the [OpcModelChangeItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/) class with the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) (`affected`) of the node affected, the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) (`affectedType`) of the type definition of the node affected and the change `actions`&gt; applied.

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

```csharp
public OpcModelChangeItem(
    OpcNodeId affected,
    OpcNodeId affectedType,
    OpcModelChangeActions actions)
```

</div>

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

```vbnet
Public Sub New(
    affected As OpcNodeId,
    affectedType As OpcNodeId,
    actions As OpcModelChangeActions)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `affected` | [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 node affected. |
| `affectedType` | [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 type definition node of the node affected. |
| `actions` | [OpcModelChangeActions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeactions/) | The [OpcModelChangeActions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeactions/) indicating the change actions applied to the node. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) |  |

## Properties

### Actions

Gets a value indicating several changes on the affected node at once.

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

```csharp
public OpcModelChangeActions Actions { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Actions As OpcModelChangeActions
```

</div>

**Property value**

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

A combination of the members defined by the [OpcModelChangeActions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeactions/) enumeration used to identify the different change actions applied to the affected node referred to in [Affected](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/members#affected).

### Affected

Gets the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) which specifies which node was changed.

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

```csharp
public OpcNodeId Affected { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Affected 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 node which was changed.

**Remarks**

The client should assume that the affected node has been created or deleted, had a reference added or deleted or the [DataType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#datatype) attribute has been changed as described by the [Actions](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodelchangeitem/members#actions).

### AffectedType

Gets the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the type definition node of the affected node in case the node which was changed was an [Object](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodecategory/#object) or [Variable](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodecategory/#variable) node.

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

```csharp
public OpcNodeId AffectedType { get; }
```

</div>

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

```vbnet
Public ReadOnly Property AffectedType 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 type definition node of the affected node if it was an [Object](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodecategory/#object) or [Variable](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodecategory/#variable) node; otherwise a null reference (Nothing in Visual Basic).
