# OpcSubscriptionSetup Members

> Reference: Defines a set of properties which can be used to create a whole OpcSubscription including its OpcMonitoredItem objects.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcSubscriptionSetup</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.client">Opc.UaFx.Client</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

### OpcSubscriptionSetup

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

| Overload | Description |
|---|---|
| [OpcSubscriptionSetup()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#opcsubscriptionsetup-noparams) | Initializes a new instance of the [OpcSubscriptionSetup](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/) class. |
| [OpcSubscriptionSetup(IEnumerable&lt;OpcMonitoredItem&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#opcsubscriptionsetup-system-collections-generic-ienumerable-of-opc-uafx-client-opcmonitoreditem) | Initializes a new instance of the [OpcSubscriptionSetup](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/) class using the sequence of `monitoredItems`. |
| [OpcSubscriptionSetup(params OpcMonitoredItem\[\])](#opcsubscriptionsetup-opc-uafx-client-opcmonitoreditem-array) | Initializes a new instance of the [OpcSubscriptionSetup](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/) class using the sequence of `monitoredItems`. |

#### OpcSubscriptionSetup()

Initializes a new instance of the [OpcSubscriptionSetup](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/) class.

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

```csharp
public OpcSubscriptionSetup()
```

</div>

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

```vbnet
Public Sub New()
```

</div>

#### OpcSubscriptionSetup(IEnumerable&lt;OpcMonitoredItem&gt;)

Initializes a new instance of the [OpcSubscriptionSetup](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/) class using the sequence of `monitoredItems`.

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

```csharp
public OpcSubscriptionSetup(IEnumerable<OpcMonitoredItem> monitoredItems)
```

</div>

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

```vbnet
Public Sub New(monitoredItems As IEnumerable(Of OpcMonitoredItem))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `monitoredItems` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/)&gt; | A sequence of [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) objects. |

**Exceptions**

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

#### OpcSubscriptionSetup(params OpcMonitoredItem\[\])

Initializes a new instance of the [OpcSubscriptionSetup](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/) class using the sequence of `monitoredItems`.

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

```csharp
public OpcSubscriptionSetup(params OpcMonitoredItem[] monitoredItems)
```

</div>

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

```vbnet
Public Sub New(ParamArray monitoredItems As OpcMonitoredItem())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `monitoredItems` | params [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/)[] | An array of [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) objects. |

**Exceptions**

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

## Properties

### Changed

Occurs then a monitored is added, modified, deleted or changes on the [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) were applied.

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

```csharp
public OpcSubscriptionChangedEventHandler Changed { get; set; }
```

</div>

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

```vbnet
Public Property Changed As OpcSubscriptionChangedEventHandler
```

</div>

**Property value**

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

### DataChangeReceived

Occurs then a monitored item receives an event notification which is not handled by an [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) on its [DataChangeReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#datachangereceived) event.

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

```csharp
public OpcDataChangeReceivedEventHandler DataChangeReceived { get; set; }
```

</div>

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

```vbnet
Public Property DataChangeReceived As OpcDataChangeReceivedEventHandler
```

</div>

**Property value**

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

**Remarks**

This event only occurs if an event notification is not handled by the according [DataChangeReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#datachangereceived) event handler.

### DisplayName

Gets or sets the name of the [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) used just for display purpose in the client application.

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

```csharp
public string DisplayName { get; set; }
```

</div>

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

```vbnet
Public Property DisplayName As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

The name of the [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) used just for display purpose in the client application.

### EventReceived

Occurs then a monitored item receives an event notification which is not handled by an [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) on its [EventReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#eventreceived) event.

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

```csharp
public OpcEventReceivedEventHandler EventReceived { get; set; }
```

</div>

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

```vbnet
Public Property EventReceived As OpcEventReceivedEventHandler
```

</div>

**Property value**

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

**Remarks**

This event only occurs if an event notification is not handled by the according [EventReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#eventreceived) event handler.

### KeepAliveCount

Gets or sets a value which defines the requested number of times the publishing timer have to expire without any notification being sent before the server have to send a keep-alive message to the client.

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

```csharp
public long KeepAliveCount { get; set; }
```

</div>

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

```vbnet
Public Property KeepAliveCount As Long
```

</div>

**Property value**

[Int64](https://learn.microsoft.com/dotnet/api/system.int64)

A value of zero indicates that the server have to revise the smallest supported keep-alive count. The default value of this property is 10.

The value of this property configures the keep-alive counter that counts the number of consecutive publishing cycles in which there have been no notifications to report to the client. When the maximum keep-alive count is reached, a publish request is de-queued and used to return a keep-alive message. This keep-alive message informs the client that the subscription is still active. The maximum keep-alive count may be subsequently modified. If there are no publish requests queued, the server waits for the next one to be received and sends the keep-alive immediately without waiting for the next publishing cycle.

The value of the underlying property is an [uint](https://learn.microsoft.com/dotnet/api/system.uint32) which is covered using a [long](https://learn.microsoft.com/dotnet/api/system.int64) to assure CLS compliance. In fact this restricts the value range of this property to [MinValue](https://learn.microsoft.com/dotnet/api/system.uint32.minvalue) and [MaxValue](https://learn.microsoft.com/dotnet/api/system.uint32.maxvalue).

### LifetimeCount

Gets or sets a value which defines the requested number of times the publishing timer have to expire without any publish request before the server have to delete this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public long LifetimeCount { get; set; }
```

</div>

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

```vbnet
Public Property LifetimeCount As Long
```

</div>

**Property value**

[Int64](https://learn.microsoft.com/dotnet/api/system.int64)

The number of times the publishing timer have to expire without any publish request. A recommended value is at least a minimum of three times of the [KeepAliveCount](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#keepalivecount). The default value of this property is 100.

**Remarks**

The value of the underlying property is an [uint](https://learn.microsoft.com/dotnet/api/system.uint32) which is covered using a [long](https://learn.microsoft.com/dotnet/api/system.int64) to assure CLS compliance. In fact this restricts the value range of this property to [MinValue](https://learn.microsoft.com/dotnet/api/system.uint32.minvalue) and [MaxValue](https://learn.microsoft.com/dotnet/api/system.uint32.maxvalue).

### MaxMessageCount

Gets or sets the maximum number of notifications to keep in the cache.

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

```csharp
public int MaxMessageCount { get; set; }
```

</div>

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

```vbnet
Public Property MaxMessageCount As Integer
```

</div>

**Property value**

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

The maximum number of notification to keep in the cache. The default value of this property is 10.

### MaxNotificationsPerPublish

Gets or sets a value which defines the maximum number of notifications that the client wants to receive in a single publish response.

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

```csharp
public long MaxNotificationsPerPublish { get; set; }
```

</div>

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

```vbnet
Public Property MaxNotificationsPerPublish As Long
```

</div>

**Property value**

[Int64](https://learn.microsoft.com/dotnet/api/system.int64)

The maximum number of notifications that the client wants to receive in a single publish response. The number of notifications per publish is the sum of [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems) in a data change related notification and the number of events in an event notification. The default value of this property is 1000.

**Remarks**

A value of zero indicates that there is no limit.

The value of the underlying property is an [uint](https://learn.microsoft.com/dotnet/api/system.uint32) which is covered using a [long](https://learn.microsoft.com/dotnet/api/system.int64) to assure CLS compliance. In fact this restricts the value range of this property to [MinValue](https://learn.microsoft.com/dotnet/api/system.uint32.minvalue) and [MaxValue](https://learn.microsoft.com/dotnet/api/system.uint32.maxvalue).

### MinLifetimeInterval

Gets or sets a value which defines the minimum lifetime interval to apply in respect of the [PublishingInterval](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#publishinginterval) and the [LifetimeCount](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#lifetimecount) configured.

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

```csharp
public long MinLifetimeInterval { get; set; }
```

</div>

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

```vbnet
Public Property MinLifetimeInterval As Long
```

</div>

**Property value**

[Int64](https://learn.microsoft.com/dotnet/api/system.int64)

The interval which should be a multiple of the [PublishingInterval](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#publishinginterval) to assure that the [LifetimeCount](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#lifetimecount) requested is sensible enough to get covered within the [PublishingInterval](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#publishinginterval).

### MonitoredItems

Gets a read-only collection of [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) instances associated with this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public OpcMonitoredItemReadOnlyCollection MonitoredItems { get; }
```

</div>

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

```vbnet
Public ReadOnly Property MonitoredItems As OpcMonitoredItemReadOnlyCollection
```

</div>

**Property value**

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

An instance of the [OpcMonitoredItemReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditemreadonlycollection/) class.

**Remarks**

Use the monitored item related methods of this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) to manipulate the items contained in the collection offered by this property.

### NotificationFailed

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

Occurs then a notification message for the [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) failed to be received, so that its data changes and events do not reach the monitored items.

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

```csharp
public OpcNotificationFailedEventHandler NotificationFailed { get; set; }
```

</div>

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

```vbnet
Public Property NotificationFailed As OpcNotificationFailedEventHandler
```

</div>

**Property value**

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

**Remarks**

The session requests a failed message again from the server until the server no longer holds it. This event occurs once for each message, however often it fails, and once more with [BadMessageNotAvailable](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatuscode/#badmessagenotavailable) when the message is lost. An event which is not handled by this event handler is passed to the [NotificationFailed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/notificationfailed) event of the [OpcClient](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/) which owns the [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

### NotificationReceived

Occurs then a [OpcNotification](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnotification/) for this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) has been received by the session which owns this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public OpcNotificationReceivedEventHandler NotificationReceived { get; set; }
```

</div>

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

```vbnet
Public Property NotificationReceived As OpcNotificationReceivedEventHandler
```

</div>

**Property value**

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

### Priority

Gets or sets a value which defines the relative priority of the subscription used to priorize notifications being send then more than one subscription is to be notified.

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

```csharp
public int Priority { get; set; }
```

</div>

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

```vbnet
Public Property Priority As Integer
```

</div>

**Property value**

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

The relative priority of the subscription to notify.

**Remarks**

In case of subscriptions with equal priority the server shall send the notifications in a round-robin fashion. A client that does not require special priority settings should set this value to zero.

The value of the underlying property is a [byte](https://learn.microsoft.com/dotnet/api/system.byte) which is covered using an [int](https://learn.microsoft.com/dotnet/api/system.int32) to assure an even API level. In fact this restricts the value range of this property to [MinValue](https://learn.microsoft.com/dotnet/api/system.byte.minvalue) and [MaxValue](https://learn.microsoft.com/dotnet/api/system.byte.maxvalue).

### PublishingInterval

Gets or sets the requested number of milliseconds of the interval within the server have to send cyclic notifications to the client.

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

```csharp
public int PublishingInterval { get; set; }
```

</div>

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

```vbnet
Public Property PublishingInterval As Integer
```

</div>

**Property value**

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

The interval within the server have to send cyclic notifications to the client. A value of zero or negative indicates that the server have to revise the fastest supported publishing interval.

**Remarks**

The publishing interval of a subscription defines the cyclic rate at which the subscription executes. Each time it executes, it attempts to send a message to the client. Messages contain notifications that have not yet been reported to client.

The negotiated value of this property is used as the default sampling interval for the [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems) assigned to this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

### PublishingIsEnabled

Gets or sets a value indicating whether publishing is enabled for this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public bool PublishingIsEnabled { get; set; }
```

</div>

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

```vbnet
Public Property PublishingIsEnabled As Boolean
```

</div>

**Property value**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if publishing is enabled for this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/); otherwise the value false. The default value of this property is true.

**Remarks**

The value of this property does not affect the value of the monitoring mode property of the [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems).

### ReceivedDataChangeCallback

Gets or sets the callback used to process data changes of the monitored items associated with this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public OpcDataChangeReceivedCallback ReceivedDataChangeCallback { get; set; }
```

</div>

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

```vbnet
Public Property ReceivedDataChangeCallback As OpcDataChangeReceivedCallback
```

</div>

**Property value**

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

A [OpcDataChangeReceivedCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedcallback/) used to process data change items. The value can also be a null reference (Nothing in Visual Basic).

**Remarks**

Use this property to directly handle all data change items without to rely on the chain of registered event handlers.

### ReceivedEventCallback

Gets or sets the callback used to process events of the monitored items associated with this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public OpcEventReceivedCallback ReceivedEventCallback { get; set; }
```

</div>

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

```vbnet
Public Property ReceivedEventCallback As OpcEventReceivedCallback
```

</div>

**Property value**

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

A [OpcDataChangeReceivedCallback](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedcallback/) used to process event items. The value can also be a null reference (Nothing in Visual Basic).

**Remarks**

Use this property to directly handle all event items without to rely on the chain of registered event handlers.

### TimestampsToReturn

Gets or sets the timestamps the server shall transmit for each monitored item.

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

```csharp
public OpcTimestampsToReturn TimestampsToReturn { get; set; }
```

</div>

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

```vbnet
Public Property TimestampsToReturn As OpcTimestampsToReturn
```

</div>

**Property value**

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

One of the members defined by the [OpcTimestampsToReturn](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctimestampstoreturn/) enumeration. The default value of this property is [Both](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctimestampstoreturn/#both).

**Remarks**

The "timestamps to return" criteria is only applied to [OpcValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvalue/) instances. This means that in case of monitoring events only event fields of the type [OpcValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvalue/) are effected by the value of this property.

### UseMonitoredItemDataCache

Gets or sets a value indicating whether this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) shall forward notifications received from the server to monitored item individual caches. This enables the monitored items to process the data changes and event fields on their own.

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

```csharp
public bool UseMonitoredItemDataCache { get; set; }
```

</div>

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

```vbnet
Public Property UseMonitoredItemDataCache As Boolean
```

</div>

**Property value**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) instances associated with this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) receive their own item-related notification and can process the notification data on their own; otherwise the value false. The default value of this property is true.

## Methods

### AddMonitoredItem

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

| Overload | Description |
|---|---|
| [AddMonitoredItem(OpcMonitoredItem)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-client-opcmonitoreditem) | Adds the monitored item specified by `item` to this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/). |
| [AddMonitoredItem(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid) | Adds a new monitored item which subscribes to changes on the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node specified by `nodeId`. |
| [AddMonitoredItem(OpcNodeId, OpcDataChangeReceivedEventHandler)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-client-opcdatachangereceivedeventhandler) | Adds a new monitored item which subscribes to changes on the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node specified by `nodeId`. |
| [AddMonitoredItem(OpcNodeId, OpcEventReceivedEventHandler)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-client-opceventreceivedeventhandler) | Adds a new monitored item which subscribes to events on the [EventNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#eventnotifier) attribute of the node specified by `nodeId`. |
| [AddMonitoredItem(OpcNodeId, OpcAttribute)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcattribute) | Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId`. |
| [AddMonitoredItem(OpcNodeId, OpcAttribute, OpcDataChangeReceivedEventHandler)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-client-opcdatachangereceivedeventhandler) | Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId`. |
| [AddMonitoredItem(OpcNodeId, OpcAttribute, OpcEventReceivedEventHandler)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-client-opceventreceivedeventhandler) | Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId`. |
| [AddMonitoredItem(OpcNodeId, OpcMonitoringFilter)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcmonitoringfilter) | Adds a new monitored item which subscribes to changes on the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node specified by `nodeId` using the further configured `filter`. |
| [AddMonitoredItem(OpcNodeId, OpcDataChangeFilter, OpcDataChangeReceivedEventHandler)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcdatachangefilter-opc-uafx-client-opcdatachangereceivedeventhandler) | Adds a new monitored item which subscribes to changes on the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node specified by `nodeId` using the further configured `filter`. |
| [AddMonitoredItem(OpcNodeId, OpcEventFilter, OpcEventReceivedEventHandler)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opceventfilter-opc-uafx-client-opceventreceivedeventhandler) | Adds a new monitored item which subscribes to changes on the [EventNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#eventnotifier) attribute of the node specified by `nodeId` using the further configured `filter`. |
| [AddMonitoredItem(OpcNodeId, OpcAttribute, OpcMonitoringFilter)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-opcmonitoringfilter) | Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId` using the further configured `filter`. |
| [AddMonitoredItem(OpcNodeId, OpcAttribute, OpcDataChangeFilter, OpcDataChangeReceivedEventHandler)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-opcdatachangefilter-opc-uafx-client-opcdatachangereceivedeventhandler) | Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId` using the further configured `filter`. |
| [AddMonitoredItem(OpcNodeId, OpcAttribute, OpcEventFilter, OpcEventReceivedEventHandler)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-opceventfilter-opc-uafx-client-opceventreceivedeventhandler) | Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId` using the further configured `filter`. |
| [AddMonitoredItem(IEnumerable&lt;OpcMonitoredItem&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#addmonitoreditem-system-collections-generic-ienumerable-of-opc-uafx-client-opcmonitoreditem) | Adds the monitored items specified by `items` to this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/). |
| [AddMonitoredItem(params OpcMonitoredItem\[\])](#addmonitoreditem-opc-uafx-client-opcmonitoreditem-array) | Adds the monitored items specified by `items` to this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/). |

#### AddMonitoredItem(OpcMonitoredItem)

Adds the monitored item specified by `item` to this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public void AddMonitoredItem(OpcMonitoredItem item)
```

</div>

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

```vbnet
Public Sub AddMonitoredItem(item As OpcMonitoredItem)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `item` | [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) | The [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) to add. |

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId)

Adds a new monitored item which subscribes to changes on the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node specified by `nodeId`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(nodeId As OpcNodeId) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute is to be monitored. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcDataChangeReceivedEventHandler)

Adds a new monitored item which subscribes to changes on the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node specified by `nodeId`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcDataChangeReceivedEventHandler received)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    received As OpcDataChangeReceivedEventHandler) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute is to be monitored. |
| `received` | [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) | The [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) method to assign as the event handler of the [DataChangeReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#datachangereceived) event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcEventReceivedEventHandler)

Adds a new monitored item which subscribes to events on the [EventNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#eventnotifier) attribute of the node specified by `nodeId`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcEventReceivedEventHandler received)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    received As OpcEventReceivedEventHandler) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its [EventNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#eventnotifier) attribute is to be monitored. |
| `received` | [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) | The [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) method to assign as the event handler of the [EventReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#eventreceived) event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcAttribute)

Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcAttribute attribute)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    attribute As OpcAttribute) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its `attribute` is to be monitored. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) to monitor. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcAttribute, OpcDataChangeReceivedEventHandler)

Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcAttribute attribute,
    OpcDataChangeReceivedEventHandler received)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    attribute As OpcAttribute,
    received As OpcDataChangeReceivedEventHandler) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its `attribute` is to be monitored. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) to monitor. |
| `received` | [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) | The [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) method to assign as the event handler of the [DataChangeReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#datachangereceived) event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcAttribute, OpcEventReceivedEventHandler)

Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcAttribute attribute,
    OpcEventReceivedEventHandler received)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    attribute As OpcAttribute,
    received As OpcEventReceivedEventHandler) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its `attribute` is to be monitored. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) to monitor. |
| `received` | [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) | The [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) method to assign as the event handler of the [EventReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#eventreceived) event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcMonitoringFilter)

Adds a new monitored item which subscribes to changes on the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node specified by `nodeId` using the further configured `filter`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcMonitoringFilter filter)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    filter As OpcMonitoringFilter) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute is to be monitored. |
| `filter` | [OpcMonitoringFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmonitoringfilter/) | The [OpcMonitoringFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmonitoringfilter/) (either a [OpcDataChangeFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangefilter/) or a [OpcEventFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventfilter/)) to use to apply different conditions while monitoring the attribute. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcDataChangeFilter, OpcDataChangeReceivedEventHandler)

Adds a new monitored item which subscribes to changes on the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node specified by `nodeId` using the further configured `filter`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcDataChangeFilter filter,
    OpcDataChangeReceivedEventHandler received)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    filter As OpcDataChangeFilter,
    received As OpcDataChangeReceivedEventHandler) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute is to be monitored. |
| `filter` | [OpcDataChangeFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangefilter/) | The [OpcDataChangeFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangefilter/) to use to apply different conditions while monitoring the attribute. |
| `received` | [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) | The [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) method to assign as the event handler of the [DataChangeReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#datachangereceived) event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcEventFilter, OpcEventReceivedEventHandler)

Adds a new monitored item which subscribes to changes on the [EventNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#eventnotifier) attribute of the node specified by `nodeId` using the further configured `filter`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcEventFilter filter,
    OpcEventReceivedEventHandler received)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    filter As OpcEventFilter,
    received As OpcEventReceivedEventHandler) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its [EventNotifier](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#eventnotifier) attribute is to be monitored. |
| `filter` | [OpcEventFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventfilter/) | The [OpcEventFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventfilter/) to use to apply different conditions while monitoring the attribute. |
| `received` | [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) | The [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) method to assign as the event handler of the [EventReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#eventreceived) event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcAttribute, OpcMonitoringFilter)

Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId` using the further configured `filter`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcAttribute attribute,
    OpcMonitoringFilter filter)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    attribute As OpcAttribute,
    filter As OpcMonitoringFilter) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its `attribute` is to be monitored. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) to monitor. |
| `filter` | [OpcMonitoringFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmonitoringfilter/) | The [OpcMonitoringFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmonitoringfilter/) (either a [OpcDataChangeFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangefilter/) or a [OpcEventFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventfilter/)) to use to apply different conditions while monitoring the attribute. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcAttribute, OpcDataChangeFilter, OpcDataChangeReceivedEventHandler)

Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId` using the further configured `filter`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcAttribute attribute,
    OpcDataChangeFilter filter,
    OpcDataChangeReceivedEventHandler received)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    attribute As OpcAttribute,
    filter As OpcDataChangeFilter,
    received As OpcDataChangeReceivedEventHandler) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its `attribute` is to be monitored. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) to monitor. |
| `filter` | [OpcDataChangeFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangefilter/) | The [OpcDataChangeFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangefilter/) to use to apply different conditions while monitoring the attribute. |
| `received` | [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) | The [OpcDataChangeReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventhandler/) method to assign as the event handler of the [DataChangeReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#datachangereceived) event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(OpcNodeId, OpcAttribute, OpcEventFilter, OpcEventReceivedEventHandler)

Adds a new monitored item which subscribes to the `attribute` of the node specified by `nodeId` using the further configured `filter`.

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

```csharp
public OpcMonitoredItem AddMonitoredItem(
    OpcNodeId nodeId,
    OpcAttribute attribute,
    OpcEventFilter filter,
    OpcEventReceivedEventHandler received)
```

</div>

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

```vbnet
Public Function AddMonitoredItem(
    nodeId As OpcNodeId,
    attribute As OpcAttribute,
    filter As OpcEventFilter,
    received As OpcEventReceivedEventHandler) As OpcMonitoredItem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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 its `attribute` is to be monitored. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) to monitor. |
| `filter` | [OpcEventFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventfilter/) | The [OpcEventFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventfilter/) to use to apply different conditions while monitoring the attribute. |
| `received` | [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) | The [OpcEventReceivedEventHandler](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventhandler/) method to assign as the event handler of the [EventReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#eventreceived) event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first. |

**Returns**

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

A new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.

**Exceptions**

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

#### AddMonitoredItem(IEnumerable&lt;OpcMonitoredItem&gt;)

Adds the monitored items specified by `items` to this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public void AddMonitoredItem(IEnumerable<OpcMonitoredItem> items)
```

</div>

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

```vbnet
Public Sub AddMonitoredItem(items As IEnumerable(Of OpcMonitoredItem))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `items` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/)&gt; | A sequence of [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) istances to add. |

**Exceptions**

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

#### AddMonitoredItem(params OpcMonitoredItem\[\])

Adds the monitored items specified by `items` to this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public void AddMonitoredItem(params OpcMonitoredItem[] items)
```

</div>

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

```vbnet
Public Sub AddMonitoredItem(ParamArray items As OpcMonitoredItem())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `items` | params [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/)[] | An array of [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) istances to add. |

**Exceptions**

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

### RemoveMonitoredItem

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

| Overload | Description |
|---|---|
| [RemoveMonitoredItem(OpcMonitoredItem)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#removemonitoreditem-opc-uafx-client-opcmonitoreditem) | Removes the monitored item specified by `item` from the [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems) of this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/). |
| [RemoveMonitoredItem(IEnumerable&lt;OpcMonitoredItem&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#removemonitoreditem-system-collections-generic-ienumerable-of-opc-uafx-client-opcmonitoreditem) | Removes the monitored items specified by `items` from the [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems) of this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/). |
| [RemoveMonitoredItem(params OpcMonitoredItem\[\])](#removemonitoreditem-opc-uafx-client-opcmonitoreditem-array) | Removes the monitored items specified by `items` from the [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems) of this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/). |

#### RemoveMonitoredItem(OpcMonitoredItem)

Removes the monitored item specified by `item` from the [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems) of this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public void RemoveMonitoredItem(OpcMonitoredItem item)
```

</div>

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

```vbnet
Public Sub RemoveMonitoredItem(item As OpcMonitoredItem)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `item` | [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) | The [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) to remove. |

**Exceptions**

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

#### RemoveMonitoredItem(IEnumerable&lt;OpcMonitoredItem&gt;)

Removes the monitored items specified by `items` from the [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems) of this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public void RemoveMonitoredItem(IEnumerable<OpcMonitoredItem> items)
```

</div>

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

```vbnet
Public Sub RemoveMonitoredItem(items As IEnumerable(Of OpcMonitoredItem))
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `items` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/)&gt; | A sequence of [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) instances to remove. |

**Exceptions**

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

#### RemoveMonitoredItem(params OpcMonitoredItem\[\])

Removes the monitored items specified by `items` from the [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#monitoreditems) of this [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public void RemoveMonitoredItem(params OpcMonitoredItem[] items)
```

</div>

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

```vbnet
Public Sub RemoveMonitoredItem(ParamArray items As OpcMonitoredItem())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `items` | params [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/)[] | An array of [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) instances to remove. |

**Exceptions**

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

### ToString

<span class="api-meta">override</span>

Returns a string that represents the current [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/).

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

```csharp
public override string ToString()
```

</div>

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

```vbnet
Public Overrides Function ToString() As String
```

</div>

**Returns**

[String](https://learn.microsoft.com/dotnet/api/system.string)

A string that represents the current [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) including the used [DisplayName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#displayname), the [PublishingIsEnabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#publishingisenabled) and the [PublishingInterval](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscriptionsetup/members#publishinginterval).

**Overrides**

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