# OpcAttributeOperand Members

> Reference: Represents an operand of an OpcContentFilterElement which is the value of an attribute of a node or of a node reached from it by a relative path.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcAttributeOperand</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx">Opc.UaFx</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Inherits members from [OpcFilterOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilteroperand/members).

## Constructors

### OpcAttributeOperand

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

| Overload | Description |
|---|---|
| [OpcAttributeOperand(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/members#opcattributeoperand-opc-uafx-opcnodeid) | Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node with the `nodeId` specified. |
| [OpcAttributeOperand(OpcNodeId, OpcRelativePath)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/members#opcattributeoperand-opc-uafx-opcnodeid-opc-uafx-opcrelativepath) | Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node reached by the `nodePath` from the node with the `nodeId` specified. |
| [OpcAttributeOperand(OpcNodeId, params OpcName\[\])](#opcattributeoperand-opc-uafx-opcnodeid-opc-uafx-opcname-array) | Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node reached by the `nodePathElements` from the node with the `nodeId` specified. |
| [OpcAttributeOperand(OpcNodeId, OpcAttribute)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/members#opcattributeoperand-opc-uafx-opcnodeid-opc-uafx-opcattribute) | Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the `attribute` of the node with the `nodeId` specified. |
| [OpcAttributeOperand(OpcNodeId, OpcAttribute, OpcRelativePath)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/members#opcattributeoperand-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-opcrelativepath) | Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the `attribute` of the node reached by the `nodePath` from the node with the `nodeId` specified. |
| [OpcAttributeOperand(OpcNodeId, OpcAttribute, params OpcName\[\])](#opcattributeoperand-opc-uafx-opcnodeid-opc-uafx-opcattribute-opc-uafx-opcname-array) | Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the `attribute` of the node reached by the `nodePathElements` from the node with the `nodeId` specified. |

#### OpcAttributeOperand(OpcNodeId)

Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node with the `nodeId` specified.

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

```csharp
public OpcAttributeOperand(OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Sub New(nodeId As OpcNodeId)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier of the node. |

**Exceptions**

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

#### OpcAttributeOperand(OpcNodeId, OpcRelativePath)

Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node reached by the `nodePath` from the node with the `nodeId` specified.

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

```csharp
public OpcAttributeOperand(OpcNodeId nodeId, OpcRelativePath nodePath)
```

</div>

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

```vbnet
Public Sub New(nodeId As OpcNodeId, nodePath As OpcRelativePath)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier of the node the path starts from. |
| `nodePath` | [OpcRelativePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrelativepath/) | The relative path to the node. |

**Exceptions**

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

#### OpcAttributeOperand(OpcNodeId, params OpcName\[\])

Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) attribute of the node reached by the `nodePathElements` from the node with the `nodeId` specified.

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

```csharp
public OpcAttributeOperand(OpcNodeId nodeId, params OpcName[] nodePathElements)
```

</div>

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

```vbnet
Public Sub New(nodeId As OpcNodeId, ParamArray nodePathElements As OpcName())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier of the node the path starts from. |
| `nodePathElements` | params [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/)[] | The names of the nodes along the path. Each element is followed using the reference type [Aggregates](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#aggregates). |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `nodeId`, the `nodePathElements` or one of its elements is a null reference (Nothing in Visual Basic). |

#### OpcAttributeOperand(OpcNodeId, OpcAttribute)

Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the `attribute` of the node with the `nodeId` specified.

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

```csharp
public OpcAttributeOperand(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 identifier of the node. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The attribute of the node. |

**Exceptions**

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

#### OpcAttributeOperand(OpcNodeId, OpcAttribute, OpcRelativePath)

Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the `attribute` of the node reached by the `nodePath` from the node with the `nodeId` specified.

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

```csharp
public OpcAttributeOperand(
    OpcNodeId nodeId,
    OpcAttribute attribute,
    OpcRelativePath nodePath)
```

</div>

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

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

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier of the node the path starts from. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The attribute of the node reached. |
| `nodePath` | [OpcRelativePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrelativepath/) | The relative path to the node. |

**Exceptions**

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

#### OpcAttributeOperand(OpcNodeId, OpcAttribute, params OpcName\[\])

Initializes a new instance of the [OpcAttributeOperand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/) class referring to the `attribute` of the node reached by the `nodePathElements` from the node with the `nodeId` specified.

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

```csharp
public OpcAttributeOperand(
    OpcNodeId nodeId,
    OpcAttribute attribute,
    params OpcName[] nodePathElements)
```

</div>

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

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

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The identifier of the node the path starts from. |
| `attribute` | [OpcAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/) | The attribute of the node reached. |
| `nodePathElements` | params [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/)[] | The names of the nodes along the path. Each element is followed using the reference type [Aggregates](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreferencetype/#aggregates). |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `nodeId`, the `nodePathElements` or one of its elements is a null reference (Nothing in Visual Basic). |

## Properties

### Attribute

Gets the attribute the operand refers to.

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

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

</div>

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

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

</div>

**Property value**

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

The attribute of the node; [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) if no attribute has been specified.

### NodeId

Gets the identifier of the node the operand starts from.

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

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

</div>

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

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

</div>

**Property value**

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

The identifier of the node.

### NodePath

Gets the relative path from the node identified by [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattributeoperand/members#nodeid) to the node whose attribute the operand refers to.

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

```csharp
public OpcRelativePath NodePath { get; }
```

</div>

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

```vbnet
Public ReadOnly Property NodePath As OpcRelativePath
```

</div>

**Property value**

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

The relative path or a null reference (Nothing in Visual Basic) if the operand has been created without a path.
