# OpcMonitoredItem Members

> Reference: Represents a node and one of its attributes (= node data) to subscribe to monitor data changes or events on the node.

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

### OpcMonitoredItem

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

| Overload | Description |
|---|---|
| [OpcMonitoredItem(OpcNodeId, OpcAttribute)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#opcmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcattribute) | Initializes a new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class using the `nodeId` and `attribute` specified. |
| [OpcMonitoredItem(OpcNodeId, OpcAttribute, OpcMonitoringFilter)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#opcmonitoreditem-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-opcmonitoringfilter) | Initializes a new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class using the `nodeId`, `attribute` and `filter` specified. |

**Exceptions (all overloads)**

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

#### OpcMonitoredItem(OpcNodeId, OpcAttribute)

Initializes a new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class using the `nodeId` and `attribute` specified.

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

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

</div>

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

```vbnet
Public Sub New(nodeId As OpcNodeId, attribute As OpcAttribute)
```

</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 to monitor. |
| `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/) of the node to monitor. |

#### OpcMonitoredItem(OpcNodeId, OpcAttribute, OpcMonitoringFilter)

Initializes a new instance of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) class using the `nodeId`, `attribute` and `filter` specified.

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

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

</div>

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

```vbnet
Public Sub New(
    nodeId As OpcNodeId,
    attribute As OpcAttribute,
    filter As OpcMonitoringFilter)
```

</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 to monitor. |
| `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/) of the node 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/) which can be 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/) instance. This filter is used by the server to pre-filter the notification data passed to the client. This can be also a null reference (Nothing in Visual Basic). |

## Properties

### Attribute

Gets or sets the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) to monitor.

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

```csharp
public OpcAttribute Attribute { get; set; }
```

</div>

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

```vbnet
Public Property Attribute As OpcAttribute
```

</div>

**Property value**

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

One of the members defined by the [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) enumeration.

### CacheQueueSize

Gets or sets the total number of notifications which can be queued in the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) related notification cache.

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

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

</div>

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

```vbnet
Public Property CacheQueueSize As Integer
```

</div>

**Property value**

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

The total number of notifications which can be queued.

**Remarks**

Using a value less than the current value of this property results into a shrink of the used queue. The queue will then delete all entries exceeding the new size.

### ClientID

Gets the client-assigned unique identifier for this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

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

```csharp
public long ClientID { get; }
```

</div>

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

```vbnet
Public ReadOnly Property ClientID As Long
```

</div>

**Property value**

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

The client-assigned unique identifier for this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

**Remarks**

The identifier shall be unique for the entire session in order to allow received [OpcNotification](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnotification/) instances to be associated with and delegated to this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

### DisplayName

Gets or sets the name of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) 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 [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) used just for display purpose in the client application.

### Encoding

Gets or sets the name of the data encoding to use.

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

```csharp
public OpcName Encoding { get; set; }
```

</div>

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

```vbnet
Public Property Encoding As OpcName
```

</div>

**Property value**

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

The [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) which refers to the type of data encoding to use or a null reference (Nothing in Visual Basic) if the default encoding of the client is to be used.

**Remarks**

The name of the encodings supported depends on the server.

### Filter

Gets or sets the filter to evaluate while generating notifications for this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

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

```csharp
public OpcMonitoringFilter Filter { get; set; }
```

</div>

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

```vbnet
Public Property Filter As OpcMonitoringFilter
```

</div>

**Property value**

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

An instance of the [OpcDataChangeFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangefilter/) class to filter data change related notifications, an instance of the [OpcEventFilter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventfilter/) class to filter events related notifications or a null reference (Nothing in Visual Basic) if no filtering is to be applied to the notifications generated for this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

### IndexRange

Gets or sets the range of array indeces to monitor.

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

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

</div>

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

```vbnet
Public Property IndexRange As String
```

</div>

**Property value**

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

A [string](https://learn.microsoft.com/dotnet/api/system.string) expressing the indeces to monitor.

### IsCreated

Gets a value indicating whether this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) has been created on the server.

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

```csharp
public bool IsCreated { get; }
```

</div>

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

```vbnet
Public ReadOnly Property IsCreated 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/) has been created on the server; otherwise the value false.

### IsModified

Gets a value indicating whether this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) has been modified since it has been created on the server or since its previous changes has been committed to the server.

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

```csharp
public bool IsModified { get; }
```

</div>

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

```vbnet
Public ReadOnly Property IsModified 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/) has been modified; otherwise the value false.

### LastDataChange

Gets the last data change-related notification data received from the server.

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

```csharp
public OpcDataChangeDataSetItem LastDataChange { get; }
```

</div>

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

```vbnet
Public ReadOnly Property LastDataChange As OpcDataChangeDataSetItem
```

</div>

**Property value**

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

An instance of the [OpcDataChangeDataSetItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatachangedatasetitem/) class which represents the last data change-related notifiction data received from the server or a null reference (Nothing in Visual Basic). For more details see [LastNotification](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#lastnotification).

### LastEvent

Gets the last event-related notification data received from the server.

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

```csharp
public OpcEventDataSetItem LastEvent { get; }
```

</div>

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

```vbnet
Public ReadOnly Property LastEvent As OpcEventDataSetItem
```

</div>

**Property value**

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

An instance of the [OpcEventDataSetItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opceventdatasetitem/) class which represents the last event-related notifiction data received from the server or a null reference (Nothing in Visual Basic). For more details see [LastNotification](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#lastnotification).

### LastNotification

Gets the last notification received from the server.

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

```csharp
public OpcNotification LastNotification { get; }
```

</div>

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

```vbnet
Public ReadOnly Property LastNotification As OpcNotification
```

</div>

**Property value**

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

An instance of the [OpcNotification](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnotification/) class which represents the last notification received from the server or a null reference (Nothing in Visual Basic) if the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) has not yet received a notification from the server or [MaxMessageCount](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/members#maxmessagecount) of the [Subscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#subscription) (this monitored item belongs to) is less or equals zero. In addition if [UseMonitoredItemDataCache](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/members#usemonitoreditemdatacache) of the [Subscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#subscription) is equals to the value false this property returns a null reference (Nothing in Visual Basic) as well.

### MonitoringMode

Gets or sets the monitoring mode which applies to the monitored item.

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

```csharp
public OpcMonitoringMode MonitoringMode { get; set; }
```

</div>

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

```vbnet
Public Property MonitoringMode As OpcMonitoringMode
```

</div>

**Property value**

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

One of the members defined by the [OpcMonitoringMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmonitoringmode/) enumeration.

### NodeCategory

Gets or sets the kind of node to monitor.

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

```csharp
public OpcNodeCategory NodeCategory { get; set; }
```

</div>

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

```vbnet
Public Property NodeCategory As OpcNodeCategory
```

</div>

**Property value**

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

One of the members defined by the [OpcNodeCategory](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodecategory/) enumeration.

### NodeId

Gets or sets the node identifier of the node to monitor.

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

```csharp
public OpcNodeId NodeId { get; set; }
```

</div>

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

```vbnet
Public Property NodeId As OpcNodeId
```

</div>

**Property value**

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

An instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class identifying the node on which a node its [Attribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#attribute) is to be monitored.

### QueueMode

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

Gets or sets the mode used to enqueue and dequeue notification data items.

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

```csharp
public OpcMonitoredItemQueueMode QueueMode { get; set; }
```

</div>

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

```vbnet
Public Property QueueMode As OpcMonitoredItemQueueMode
```

</div>

**Property value**

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

One of the members defined by the [OpcMonitoredItemQueueMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditemqueuemode/) enumeration.

**Remarks**

This property maps the [OpcMonitoredItemQueueMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditemqueuemode/) value specified to the 'DiscardOldest' property in the foundation stack. Regarding the specification this means 'MonitoringParameters.DiscardOldest' which is configured in the foundations stack via 'MonitoredItem.DiscardOldest'.

### QueueSize

Gets or sets a value which defines the requested total number of notifications the server shall queue for this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

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

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

</div>

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

```vbnet
Public Property QueueSize As Long
```

</div>

**Property value**

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

The total number of notifications queued by the server. The default value of this property is 1000.

**Remarks**

In case of monitoring data changes the value zero or one means the server shall use the default queue size (which is by default one - the queuing is effectively disabled). In case of a queue overflow, the [IsOverflow](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcstatus/members#isoverflow) property of the [Status](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvalue/members#status) in the [OpcValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcvalue/) instances reported is set to the value true.

In case of monitoring events the value zero means the server shall use the default queue size. Using the value one means the server shall use the minimum or the value [MaxValue](https://learn.microsoft.com/dotnet/api/system.uint32.maxvalue) the server shall use the maximum queue size the server requires/supports for event notifications.

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).

### RelativePath

Gets or sets the relative path to the node to monitor starting at the node identified by the [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#nodeid).

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

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

</div>

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

```vbnet
Public Property RelativePath As String
```

</div>

**Property value**

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

A [string](https://learn.microsoft.com/dotnet/api/system.string) expressing the relative path to the node to monitor.

### ResolvedNodeId

Gets the resolved node identifier of the node to monitor.

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

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

</div>

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

```vbnet
Public ReadOnly Property ResolvedNodeId As OpcNodeId
```

</div>

**Property value**

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

An instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class identifying the resolved node to monitor instead of the one referred to by [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#nodeid). In case there the [RelativePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#relativepath) is unspecified the [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#nodeid).

### SamplingInterval

Gets or sets the requested number of milliseconds of the interval within the server have to access and evaluate this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

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

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

</div>

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

```vbnet
Public Property SamplingInterval As Integer
```

</div>

**Property value**

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

The interval within the server have to cyclical access and evaluate the [Attribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#attribute) of the monitored node (identified by the [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#nodeid)) regarding the [Filter](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#filter) condition to determine the need to generate a notification for this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

**Remarks**

The value 0 indicates that the server should use the fastest practical rate. The value -1 (or less) indicates that the same interval is to be used as the [Subscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#subscription) uses for the [PublishingInterval](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/members#publishinginterval) (this is default sampling interval for the monitored items of the [Subscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#subscription)).

The used sampling interval is not changed if the publishing interval is changed by a subsequent modification of the [Subscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#subscription).

### Status

Gets the status information which defines the servers ability to define/provide a monitored item configured like this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

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

```csharp
public OpcMonitoredItemStatus Status { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Status As OpcMonitoredItemStatus
```

</div>

**Property value**

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

An instance of the [OpcMonitoredItemStatus](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditemstatus/) class representing the status information assoicated with this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

### Subscription

Gets the [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) belongs to.

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

```csharp
public OpcSubscription Subscription { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Subscription As OpcSubscription
```

</div>

**Property value**

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

An instance of the [OpcSubscription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/) which owns this [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) and it is part of its [MonitoredItems](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcsubscription/members#monitoreditems).

### Tag

Gets or sets the object that contains additional user data about the monitored item.

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

```csharp
public object Tag { get; set; }
```

</div>

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

```vbnet
Public Property Tag As Object
```

</div>

**Property value**

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

An [object](https://learn.microsoft.com/dotnet/api/system.object) that contains additional user data about the monitored item. The default is null (Nothing in Visual Basic).

## Methods

### OnDataChangeReceived

<span class="api-meta">protected · virtual</span>

Raises the [DataChangeReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#datachangereceived) event of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

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

```csharp
protected virtual void OnDataChangeReceived(OpcDataChangeReceivedEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnDataChangeReceived(
    e As OpcDataChangeReceivedEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcDataChangeReceivedEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcdatachangereceivedeventargs/) | The event data. |

### OnEventReceived

<span class="api-meta">protected · virtual</span>

Raises the [EventReceived](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#eventreceived) event of the [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/).

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

```csharp
protected virtual void OnEventReceived(OpcEventReceivedEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnEventReceived(e As OpcEventReceivedEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcEventReceivedEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opceventreceivedeventargs/) | The event data. |

### ToString

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

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

<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 [OpcMonitoredItem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/) including the used [DisplayName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#displayname), the [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#nodeid), [ResolvedNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#resolvednodeid) and the [Attribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcmonitoreditem/members#attribute).

**Overrides**

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

## Events

### DataChangeReceived

Occurs when a data change notification has been received.

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

```csharp
public event OpcDataChangeReceivedEventHandler DataChangeReceived
```

</div>

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

```vbnet
Public Event DataChangeReceived As OpcDataChangeReceivedEventHandler
```

</div>

**Event type**

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

### EventReceived

Occurs when an event notification has been received.

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

```csharp
public event OpcEventReceivedEventHandler EventReceived
```

</div>

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

```vbnet
Public Event EventReceived As OpcEventReceivedEventHandler
```

</div>

**Event type**

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