# OpcFileNode Members

> Reference: Defines a file node.

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

Inherits members from [OpcObjectNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjectnode/members), [OpcInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/members), [OpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members).

## Constructors

### OpcFileNode

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

| Overload | Description |
|---|---|
| [OpcFileNode(OpcName, IOpcFileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcname-opc-uafx-iopcfileinfo)<span class="api-meta">since v2.16</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent given by `fileInfo`. |
| [OpcFileNode(OpcName, FileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcname-system-io-fileinfo) | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent given by `fileInfo`. |
| [OpcFileNode(OpcName, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcname-system-string) | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent given by `filePath`. |
| [OpcFileNode(OpcName, OpcNodeId, IOpcFileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-iopcfileinfo)<span class="api-meta">since v2.16</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file to represent given by `fileInfo`. |
| [OpcFileNode(OpcName, OpcNodeId, FileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcname-opc-uafx-opcnodeid-system-io-fileinfo) | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file to represent given by `fileInfo`. |
| [OpcFileNode(OpcName, OpcNodeId, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcname-opc-uafx-opcnodeid-system-string) | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file to represent given by `filePath`. |
| [OpcFileNode(IOpcNode, OpcName, IOpcFileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-iopcfileinfo)<span class="api-meta">since v2.16</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent defined by `fileInfo` as a child node of the `parent` node given. |
| [OpcFileNode(IOpcNode, OpcName, FileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-iopcnode-opc-uafx-opcname-system-io-fileinfo) | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent defined by `fileInfo` as a child node of the `parent` node given. |
| [OpcFileNode(IOpcNode, OpcName, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-iopcnode-opc-uafx-opcname-system-string) | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent defined by `filePath` as a child node of the `parent` node given. |
| [OpcFileNode(IOpcNode, OpcName, OpcNodeId, IOpcFileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-iopcfileinfo)<span class="api-meta">since v2.16</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file information defined by `fileInfo` as a child node of the `parent` node given. |
| [OpcFileNode(IOpcNode, OpcName, OpcNodeId, FileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-opcnodeid-system-io-fileinfo) | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file information defined by `fileInfo` as a child node of the `parent` node given. |
| [OpcFileNode(IOpcNode, OpcName, OpcNodeId, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-opcnodeid-system-string) | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file information defined by `filePath` as a child node of the `parent` node given. |
| [OpcFileNode(FileState)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-ua-filestate)<span class="api-meta">protected · since v2.50</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class using the `content` as the instance to wrap. |
| [OpcFileNode(FileState, OpcNodeModel)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-ua-filestate-opc-uafx-opcnodemodel)<span class="api-meta">protected · since v2.50</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class using the `content` as the instance to wrap. |
| [OpcFileNode(OpcNodeModel, OpcName, IOpcFileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcnodemodel-opc-uafx-opcname-opc-uafx-iopcfileinfo)<span class="api-meta">protected · since v2.50</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent given by `fileInfo`. |
| [OpcFileNode(OpcNodeModel, OpcName, OpcNodeId, IOpcFileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcnodemodel-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-iopcfileinfo)<span class="api-meta">protected · since v2.50</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file to represent given by `fileInfo`. |
| [OpcFileNode(OpcNodeModel, IOpcNode, OpcName, IOpcFileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcnodemodel-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-iopcfileinfo)<span class="api-meta">protected · since v2.50</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent defined by `fileInfo` as a child node of the `parent` node given. |
| [OpcFileNode(OpcNodeModel, IOpcNode, OpcName, OpcNodeId, IOpcFileInfo)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opcfilenode-opc-uafx-opcnodemodel-opc-uafx-iopcnode-opc-uafx-opcname-opc-uafx-opcnodeid-opc-uafx-iopcfileinfo)<span class="api-meta">protected · since v2.50</span> | Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file information defined by `fileInfo` as a child node of the `parent` node given. |

#### OpcFileNode(OpcName, IOpcFileInfo)

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

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent given by `fileInfo`.

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

```csharp
public OpcFileNode(OpcName name, IOpcFileInfo fileInfo)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, fileInfo As IOpcFileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [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/) through that the new file node can be accessed. |
| `fileInfo` | [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(OpcName, FileInfo)

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent given by `fileInfo`.

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

```csharp
public OpcFileNode(OpcName name, FileInfo fileInfo)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, fileInfo As FileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [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/) through that the new file node can be accessed. |
| `fileInfo` | [FileInfo](https://learn.microsoft.com/dotnet/api/system.io.fileinfo) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(OpcName, string)

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent given by `filePath`.

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

```csharp
public OpcFileNode(OpcName name, string filePath)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, filePath As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [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/) through that the new file node can be accessed. |
| `filePath` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The path to the file to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(OpcName, OpcNodeId, IOpcFileInfo)

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

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file to represent given by `fileInfo`.

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

```csharp
public OpcFileNode(OpcName name, OpcNodeId id, IOpcFileInfo fileInfo)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, id As OpcNodeId, fileInfo As IOpcFileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [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/) through that the new file node can be accessed. |
| `id` | [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/) through that the new file node can be identified and accessed. |
| `fileInfo` | [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(OpcName, OpcNodeId, FileInfo)

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file to represent given by `fileInfo`.

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

```csharp
public OpcFileNode(OpcName name, OpcNodeId id, FileInfo fileInfo)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, id As OpcNodeId, fileInfo As FileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [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/) through that the new file node can be accessed. |
| `id` | [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/) through that the new file node can be identified and accessed. |
| `fileInfo` | [FileInfo](https://learn.microsoft.com/dotnet/api/system.io.fileinfo) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(OpcName, OpcNodeId, string)

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file to represent given by `filePath`.

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

```csharp
public OpcFileNode(OpcName name, OpcNodeId id, string filePath)
```

</div>

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

```vbnet
Public Sub New(name As OpcName, id As OpcNodeId, filePath As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [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/) through that the new file node can be accessed. |
| `id` | [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/) through that the new file node can be identified and accessed. |
| `filePath` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The path to the file to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(IOpcNode, OpcName, IOpcFileInfo)

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

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent defined by `fileInfo` as a child node of the `parent` node given.

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

```csharp
public OpcFileNode(IOpcNode parent, OpcName name, IOpcFileInfo fileInfo)
```

</div>

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

```vbnet
Public Sub New(parent As IOpcNode, name As OpcName, fileInfo As IOpcFileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [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/) through that the new file node can be accessed. |
| `fileInfo` | [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(IOpcNode, OpcName, FileInfo)

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent defined by `fileInfo` as a child node of the `parent` node given.

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

```csharp
public OpcFileNode(IOpcNode parent, OpcName name, FileInfo fileInfo)
```

</div>

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

```vbnet
Public Sub New(parent As IOpcNode, name As OpcName, fileInfo As FileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [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/) through that the new file node can be accessed. |
| `fileInfo` | [FileInfo](https://learn.microsoft.com/dotnet/api/system.io.fileinfo) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(IOpcNode, OpcName, string)

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent defined by `filePath` as a child node of the `parent` node given.

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

```csharp
public OpcFileNode(IOpcNode parent, OpcName name, string filePath)
```

</div>

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

```vbnet
Public Sub New(parent As IOpcNode, name As OpcName, filePath As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [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/) through that the new file node can be accessed. |
| `filePath` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The path to the file to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(IOpcNode, OpcName, OpcNodeId, IOpcFileInfo)

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

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file information defined by `fileInfo` as a child node of the `parent` node given.

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

```csharp
public OpcFileNode(
    IOpcNode parent,
    OpcName name,
    OpcNodeId id,
    IOpcFileInfo fileInfo)
```

</div>

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

```vbnet
Public Sub New(
    parent As IOpcNode,
    name As OpcName,
    id As OpcNodeId,
    fileInfo As IOpcFileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [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/) through that the new file node can be accessed. |
| `id` | [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/) through that the new file node can be identified and accessed. |
| `fileInfo` | [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(IOpcNode, OpcName, OpcNodeId, FileInfo)

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file information defined by `fileInfo` as a child node of the `parent` node given.

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

```csharp
public OpcFileNode(
    IOpcNode parent,
    OpcName name,
    OpcNodeId id,
    FileInfo fileInfo)
```

</div>

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

```vbnet
Public Sub New(
    parent As IOpcNode,
    name As OpcName,
    id As OpcNodeId,
    fileInfo As FileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [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/) through that the new file node can be accessed. |
| `id` | [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/) through that the new file node can be identified and accessed. |
| `fileInfo` | [FileInfo](https://learn.microsoft.com/dotnet/api/system.io.fileinfo) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(IOpcNode, OpcName, OpcNodeId, string)

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file information defined by `filePath` as a child node of the `parent` node given.

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

```csharp
public OpcFileNode(IOpcNode parent, OpcName name, OpcNodeId id, string filePath)
```

</div>

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

```vbnet
Public Sub New(
    parent As IOpcNode,
    name As OpcName,
    id As OpcNodeId,
    filePath As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [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/) through that the new file node can be accessed. |
| `id` | [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/) through that the new file node can be identified and accessed. |
| `filePath` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The path to the file to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(FileState)

<span class="api-meta">protected · since v2.50</span>

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class using the `content` as the instance to wrap.

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

```csharp
protected OpcFileNode(FileState content)
```

</div>

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

```vbnet
Protected Sub New(content As FileState)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `content` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.FileState">FileState</abbr> | The <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.FileState">FileState</abbr> to wrap. |

**Exceptions**

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

#### OpcFileNode(FileState, OpcNodeModel)

<span class="api-meta">protected · since v2.50</span>

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class using the `content` as the instance to wrap.

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

```csharp
protected OpcFileNode(FileState content, OpcNodeModel model)
```

</div>

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

```vbnet
Protected Sub New(content As FileState, model As OpcNodeModel)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `content` | <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.FileState">FileState</abbr> | The <abbr title="OPC Foundation stack type, not documented here: Opc.Ua.FileState">FileState</abbr> to wrap. |
| `model` | [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) | The [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node. |

**Exceptions**

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

#### OpcFileNode(OpcNodeModel, OpcName, IOpcFileInfo)

<span class="api-meta">protected · since v2.50</span>

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent given by `fileInfo`.

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

```csharp
protected OpcFileNode(OpcNodeModel model, OpcName name, IOpcFileInfo fileInfo)
```

</div>

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

```vbnet
Protected Sub New(
    model As OpcNodeModel,
    name As OpcName,
    fileInfo As IOpcFileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `model` | [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) | The [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node. |
| `name` | [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/) through that the new file node can be accessed. |
| `fileInfo` | [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(OpcNodeModel, OpcName, OpcNodeId, IOpcFileInfo)

<span class="api-meta">protected · since v2.50</span>

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file to represent given by `fileInfo`.

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

```csharp
protected OpcFileNode(
    OpcNodeModel model,
    OpcName name,
    OpcNodeId id,
    IOpcFileInfo fileInfo)
```

</div>

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

```vbnet
Protected Sub New(
    model As OpcNodeModel,
    name As OpcName,
    id As OpcNodeId,
    fileInfo As IOpcFileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `model` | [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) | The [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node. |
| `name` | [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/) through that the new file node can be accessed. |
| `id` | [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/) through that the new file node can be identified and accessed. |
| `fileInfo` | [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(OpcNodeModel, IOpcNode, OpcName, IOpcFileInfo)

<span class="api-meta">protected · since v2.50</span>

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` specified with the file to represent defined by `fileInfo` as a child node of the `parent` node given.

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

```csharp
protected OpcFileNode(
    OpcNodeModel model,
    IOpcNode parent,
    OpcName name,
    IOpcFileInfo fileInfo)
```

</div>

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

```vbnet
Protected Sub New(
    model As OpcNodeModel,
    parent As IOpcNode,
    name As OpcName,
    fileInfo As IOpcFileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `model` | [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) | The [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node. |
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [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/) through that the new file node can be accessed. |
| `fileInfo` | [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) | The file information to use by the new file node. |

**Exceptions**

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

#### OpcFileNode(OpcNodeModel, IOpcNode, OpcName, OpcNodeId, IOpcFileInfo)

<span class="api-meta">protected · since v2.50</span>

Initializes a new instance of the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) class accessible by the `name` and `id` specified with the file information defined by `fileInfo` as a child node of the `parent` node given.

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

```csharp
protected OpcFileNode(
    OpcNodeModel model,
    IOpcNode parent,
    OpcName name,
    OpcNodeId id,
    IOpcFileInfo fileInfo)
```

</div>

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

```vbnet
Protected Sub New(
    model As OpcNodeModel,
    parent As IOpcNode,
    name As OpcName,
    id As OpcNodeId,
    fileInfo As IOpcFileInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `model` | [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) | The [OpcNodeModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodemodel/) which defines the modelling directives for the new node or a null reference (Nothing in Visual Basic) if there are no directives are to be applied to the node. |
| `parent` | [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) | The [IOpcNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnode/) used as the parent node or a null reference (Nothing in Visual Basic) in the case there is no parent node available. |
| `name` | [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/) through that the new file node can be accessed. |
| `id` | [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/) through that the new file node can be identified and accessed. |
| `fileInfo` | [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) | The file information to use by the new file node. |

**Exceptions**

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

## Properties

### CanUserWrite

Gets or sets a value indicating whether by default a user can access the file represented for writing taking user access rights into account.

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

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

</div>

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

```vbnet
Public Property CanUserWrite As Boolean
```

</div>

**Property value**

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

The value true if the file represented is accessible for writing by the user; otherwise the value false.

**Remarks**

The property does not take into account whether the file is currently opened for writing by another client and thus currently locked and not writable by others.

### CanUserWriteNode

Gets the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) of the [CanUserWrite](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#canuserwrite) property.

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

```csharp
public OpcPropertyNode<bool> CanUserWriteNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property CanUserWriteNode As OpcPropertyNode(Of Boolean)
```

</div>

**Property value**

[OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)&lt;[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)&gt;

An instance of the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) class.

### CanWrite

Gets or sets a value indicating whether the file is writable. It does not take any user access rights into account, i.e. although the file is writable this may be restricted to a certain user / user group.

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

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

</div>

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

```vbnet
Public Property CanWrite As Boolean
```

</div>

**Property value**

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

The value true if the file represented is accessible for writing; otherwise the value false.

**Remarks**

The property does not take into account whether the file is currently opened for writing by another client and thus currently locked and not writable by others.

### CanWriteNode

Gets the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) of the [CanWrite](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#canwrite) property.

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

```csharp
public OpcPropertyNode<bool> CanWriteNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property CanWriteNode As OpcPropertyNode(Of Boolean)
```

</div>

**Property value**

[OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)&lt;[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)&gt;

An instance of the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) class.

### CloseNode

Gets the [OpcFileCloseMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfileclosemethodnode/) used to handle 'Close' method calls to close the file represented.

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

```csharp
public OpcFileCloseMethodNode CloseNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property CloseNode As OpcFileCloseMethodNode
```

</div>

**Property value**

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

An instance of the [OpcFileCloseMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfileclosemethodnode/) class. Which uses an [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) defined callback to close the file.

### DefaultTypeDefinitionId

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

Gets the default identifier which identifies the node that defines the underlying node type from that this [OpcInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/) has been created.

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

```csharp
protected override OpcNodeId DefaultTypeDefinitionId { get; }
```

</div>

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

```vbnet
Protected Overrides ReadOnly Property DefaultTypeDefinitionId As OpcNodeId
```

</div>

**Property value**

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

The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the type node from that this [OpcInstanceNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/) has been created from. These type node defines the typical structure of an instance node of its type definition. If there exists no specific type definition node a null reference (Nothing in Visual Basic).

**Overrides**

[DefaultTypeDefinitionId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcobjectnode/members#defaulttypedefinitionid)

### File

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

Gets the [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) used to access the file represented.

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

```csharp
public IOpcFileInfo File { get; }
```

</div>

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

```vbnet
Public ReadOnly Property File As IOpcFileInfo
```

</div>

**Property value**

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

The [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) used to access the file and its metadata represented.

### FileInfo

Gets the [FileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#fileinfo) of the file represented.

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

```csharp
public FileInfo FileInfo { get; }
```

</div>

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

```vbnet
Public ReadOnly Property FileInfo As FileInfo
```

</div>

**Property value**

[FileInfo](https://learn.microsoft.com/dotnet/api/system.io.fileinfo)

The [FileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#fileinfo) used to access the file and its metadata represented or a null reference (Nothing in Visual Basic) if [File](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#file) represents a custom implementation of the [IOpcFileInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcfileinfo/) interface.

### GetPositionNode

Gets the [OpcFileGetPositionMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilegetpositionmethodnode/) used to handle 'GetPosition' method calls to query the position in the file represented.

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

```csharp
public OpcFileGetPositionMethodNode GetPositionNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property GetPositionNode As OpcFileGetPositionMethodNode
```

</div>

**Property value**

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

An instance of the [OpcFileGetPositionMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilegetpositionmethodnode/) class. Which uses an [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) defined callback to query the position in the file.

### MimeType

Gets the media type of the file.

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

```csharp
public string MimeType { get; }
```

</div>

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

```vbnet
Public ReadOnly Property MimeType As String
```

</div>

**Property value**

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

The type of media represented by the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) based on RFC 2046.

### MimeTypeNode

Gets the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) of the [MimeType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#mimetype) property.

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

```csharp
public OpcPropertyNode<string> MimeTypeNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property MimeTypeNode As OpcPropertyNode(Of String)
```

</div>

**Property value**

[OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)&lt;[String](https://learn.microsoft.com/dotnet/api/system.string)&gt;

An instance of the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) class.

### OpenCount

Gets the number of currently valid file handles on the file.

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

```csharp
public ushort OpenCount { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public ReadOnly Property OpenCount As UShort
```

</div>

**Property value**

[UInt16](https://learn.microsoft.com/dotnet/api/system.uint16)

The number of currently valid file handles on the file.

### OpenCountNode

Gets the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) of the [OpenCount](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#opencount) property.

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

```csharp
public OpcPropertyNode<ushort> OpenCountNode { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public ReadOnly Property OpenCountNode As OpcPropertyNode(Of UShort)
```

</div>

**Property value**

[OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)&lt;[UInt16](https://learn.microsoft.com/dotnet/api/system.uint16)&gt;

An instance of the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) class.

### OpenNode

Gets the [OpcFileOpenMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfileopenmethodnode/) used to handle 'Open' method calls to open the file represented.

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

```csharp
public OpcFileOpenMethodNode OpenNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property OpenNode As OpcFileOpenMethodNode
```

</div>

**Property value**

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

An instance of the [OpcFileOpenMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfileopenmethodnode/) class. Which uses an [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) defined callback to open the file.

### ReadNode

Gets the [OpcFileReadMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilereadmethodnode/) used to handle 'Read' method calls to read data from the file represented.

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

```csharp
public OpcFileReadMethodNode ReadNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property ReadNode As OpcFileReadMethodNode
```

</div>

**Property value**

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

An instance of the [OpcFileReadMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilereadmethodnode/) class. Which uses an [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) defined callback to read data from the file.

### SetPositionNode

Gets the [OpcFileSetPositionMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilesetpositionmethodnode/) used to handle 'SetPosition' method calls to update the position in the file represented.

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

```csharp
public OpcFileSetPositionMethodNode SetPositionNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property SetPositionNode As OpcFileSetPositionMethodNode
```

</div>

**Property value**

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

An instance of the [OpcFileSetPositionMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilesetpositionmethodnode/) class. Which uses an [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) defined callback to update the position in the file.

### Size

Gets the size of the file in bytes.

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

```csharp
public ulong Size { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public ReadOnly Property Size As ULong
```

</div>

**Property value**

[UInt64](https://learn.microsoft.com/dotnet/api/system.uint64)

The size of the file in bytes.

**Remarks**

When a file is opened for write and the file handle is still valid the size might not be accurate.

### SizeNode

Gets the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) of the [Size](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#size) property.

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

```csharp
public OpcPropertyNode<ulong> SizeNode { get; }
```

</div>

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

```vbnet
<CLSCompliant(False)>
Public ReadOnly Property SizeNode As OpcPropertyNode(Of ULong)
```

</div>

**Property value**

[OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)&lt;[UInt64](https://learn.microsoft.com/dotnet/api/system.uint64)&gt;

An instance of the [OpcPropertyNode&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/) class.

### WriteNode

Gets the [OpcFileWriteMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilewritemethodnode/) used to handle 'Write' method calls to write data to the file represented.

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

```csharp
public OpcFileWriteMethodNode WriteNode { get; }
```

</div>

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

```vbnet
Public ReadOnly Property WriteNode As OpcFileWriteMethodNode
```

</div>

**Property value**

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

An instance of the [OpcFileWriteMethodNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilewritemethodnode/) class. Which uses an [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/) defined callback to write data to the file.

## Methods

### Close

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

Closes the file represented. When a client closes a file the handle becomes invalid.

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

```csharp
public void Close(OpcContext context, uint fileHandle)
```

</div>

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

```vbnet
Public Sub Close(context As OpcContext, fileHandle As UInteger)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) |  |
| `fileHandle` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32) | A file handle indicating the access request and thus indirectly the position inside the file. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) |  |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) |  |

### GetPosition

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

GetPosition is used to provide the current position of the file handle.

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

```csharp
public ulong GetPosition(OpcContext context, uint fileHandle)
```

</div>

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

```vbnet
Public Function GetPosition(
    context As OpcContext,
    fileHandle As UInteger) As ULong
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) |  |
| `fileHandle` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32) | A file handle indicating the access request and thus indirectly the position inside the file. |

**Returns**

[UInt64](https://learn.microsoft.com/dotnet/api/system.uint64)

The position of the file handle in the file. If a Read or Write is called it starts at that position.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) |  |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) |  |

### InitializeDefaults

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

Initializes the default values used by the [OpcFileNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/).

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

```csharp
protected override void InitializeDefaults()
```

</div>

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

```vbnet
Protected Overrides Sub InitializeDefaults()
```

</div>

**Overrides**

[InitializeDefaults](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcinstancenode/members#initializedefaults)

**Remarks**

This method is used to ensure the availability of appropriate node specific default values. For more information like when this method is to be overwritten see [InitializeDefaults](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members#initializedefaults).

### Open

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

Opens the file represented. When a client opens a file it gets a file handle that is valid while the session is open. Clients shall use the Close Method to release the file handle when they do not need access to the file anymore. Clients can open the same file several times for read.

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

```csharp
public uint Open(OpcContext context, OpcFileMode mode)
```

</div>

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

```vbnet
Public Function Open(context As OpcContext, mode As OpcFileMode) As UInteger
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) |  |
| `mode` | [OpcFileMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilemode/) | Indicates whether the file should be opened only for read operations or for read and write operations and where the initial position is set. |

**Returns**

[UInt32](https://learn.microsoft.com/dotnet/api/system.uint32)

A handle for the file used in other method calls indicating not the file but the access request and thus the position in the file. The file handle is generated by the server and is unique for the Session. Clients cannot transfer the file handle to another Session but need to get a new file handle by calling the Open Method.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) |  |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) |  |

### Read

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

Read is used to read a part of the file starting from the current file position. The file position is advanced by the number of bytes read.

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

```csharp
public ByteString Read(OpcContext context, uint fileHandle, int length)
```

</div>

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

```vbnet
Public Function Read(
    context As OpcContext,
    fileHandle As UInteger,
    length As Integer) As ByteString
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) |  |
| `fileHandle` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32) | A file handle indicating the access request and thus indirectly the position inside the file. |
| `length` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | Defines the length in byte that should be returned in data, starting from the current position of the file handle. If the end of file is reached only all data till the end of the file are returned. If the specified length is longer than the maximum allowed message size of the communication, only those data fitting into the message size are returned. Only positive values are allowed. |

**Returns**

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

Contains the returned data of the file.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) |  |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) |  |

### ReadCanUserWrite

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

Reads the value of the [CanUserWrite](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#canuserwrite) property.

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

```csharp
protected virtual OpcPropertyValue<bool> ReadCanUserWrite(
    OpcReadPropertyValueContext<OpcPropertyNode<bool>> context,
    OpcPropertyValue<bool> value)
```

</div>

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

```vbnet
Protected Overridable Function ReadCanUserWrite(
    context As OpcReadPropertyValueContext(Of OpcPropertyNode(Of Boolean)),
    value As OpcPropertyValue(Of Boolean)) As OpcPropertyValue(Of Boolean)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcReadPropertyValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadpropertyvaluecontext-1/)&lt;[OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)&lt;[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)&gt;&gt; | The [OpcReadPropertyValueContext&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadpropertyvaluecontext-1/) to use to read the property value. |
| `value` | [OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)&gt; | The preliminary [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/). |

**Returns**

[OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)&gt;

The determined [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/).

### ReadCanWrite

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

Reads the value of the [CanWrite](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcfilenode/members#canwrite) property.

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

```csharp
protected virtual OpcPropertyValue<bool> ReadCanWrite(
    OpcReadPropertyValueContext<OpcPropertyNode<bool>> context,
    OpcPropertyValue<bool> value)
```

</div>

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

```vbnet
Protected Overridable Function ReadCanWrite(
    context As OpcReadPropertyValueContext(Of OpcPropertyNode(Of Boolean)),
    value As OpcPropertyValue(Of Boolean)) As OpcPropertyValue(Of Boolean)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcReadPropertyValueContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadpropertyvaluecontext-1/)&lt;[OpcPropertyNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertynode-1/)&lt;[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)&gt;&gt; | The [OpcReadPropertyValueContext&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadpropertyvaluecontext-1/) to use to read the property value. |
| `value` | [OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)&gt; | The preliminary [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/). |

**Returns**

[OpcPropertyValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/)&lt;[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)&gt;

The determined [OpcPropertyValue&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpropertyvalue-1/).

### SetPosition

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

SetPosition is used to set the current position of the file handle.

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

```csharp
public void SetPosition(OpcContext context, uint fileHandle, ulong position)
```

</div>

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

```vbnet
Public Sub SetPosition(
    context As OpcContext,
    fileHandle As UInteger,
    position As ULong)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) |  |
| `fileHandle` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32) | A file handle indicating the access request and thus indirectly the position inside the file. |
| `position` | [UInt64](https://learn.microsoft.com/dotnet/api/system.uint64) | The position to be set for the file handle in the file. If a Read or Write is called it starts at that position. If the position is higher than the file size the position is set to the end of the file. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) |  |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) |  |

### Write

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

Write is used to write a part of the file starting from the current file position. The file position is advanced by the number of bytes written.

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

```csharp
public void Write(OpcContext context, uint fileHandle, ByteString data)
```

</div>

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

```vbnet
Public Sub Write(
    context As OpcContext,
    fileHandle As UInteger,
    data As ByteString)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) |  |
| `fileHandle` | [UInt32](https://learn.microsoft.com/dotnet/api/system.uint32) | A file handle indicating the access request and thus indirectly the position inside the file. |
| `data` | [ByteString](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.bytestring/) | Contains the data to be written at the position of the file. It is server-dependent whether the written data are persistently stored if the session is ended without calling the Close Method with the file handle. |

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) |  |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) |  |
