# OpcBidirectionalReference Class

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

<dl class="api-definition">
<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>Members</dt>
<dd><a href="./members">OpcBidirectionalReference Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Describes a bidirectional reference from a logical 'parent' to a logical 'child' AND vice versa using a specific type of reference between the two opponents.

## Syntax

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

```csharp
public class OpcBidirectionalReference
```

</div>

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

```vbnet
Public Class OpcBidirectionalReference
```

</div>

## Inheritance

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

## Implements

<ul class="api-implements">
<li><a href="../opc.uafx.iopcnodereferenceaware/">IOpcNodeReferenceAware</a></li>
</ul>

## Constructors

| Name | Description |
|---|---|
| [OpcBidirectionalReference](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbidirectionalreference/members#opcbidirectionalreference)<span class="api-meta">4 overloads</span> | Initializes a new instance of the OpcBidirectionalReference class using the `targetNode` as the target of the reference and using the value of the `type` parameter as the type of reference. |

## Properties

| Name | Description |
|---|---|
| [TargetNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbidirectionalreference/members#targetnode) | Gets the node to which the reference refers to. |
| [TargetNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbidirectionalreference/members#targetnodeid) | Gets the identifier of the node to which the reference refers to. |
| [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbidirectionalreference/members#type) | Gets a value which defines the pre-defined type of reference represented. |
| [TypeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbidirectionalreference/members#typeid) | Gets the identifier which identifies the node that defines the semantic of the reference between the source and the target node represented through this OpcBidirectionalReference and generally reflects an operation between the two, such as "A contains B" and vice versa. |

## Methods

| Name | Description |
|---|---|
| [GetReferences](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbidirectionalreference/members#getreferences)<span class="api-meta">3 overloads</span> | Retrieves an empty sequence of [OpcNodeReference](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodereference/) instances. |
| [ToString](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbidirectionalreference/members#tostring)<span class="api-meta">override</span> | Returns a string representing the information contained in the OpcBidirectionalReference. |

## Applies to

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