# OpcPathProbing Members

> Reference: Provides an abstract base class which defines mechanisms to evaluate string-based path values used to access the file system.

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

## Constructors

### OpcPathProbing

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

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

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

```csharp
protected OpcPathProbing()
```

</div>

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

```vbnet
Protected Sub New()
```

</div>

## Methods

### Evaluate

Processes the evaluation of the [string](https://learn.microsoft.com/dotnet/api/system.string)-based path value associated with this [OpcPathProbing](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobing/) and offers the determined and fulfilled path information accordingly.

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

```csharp
public string Evaluate()
```

</div>

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

```vbnet
Public Function Evaluate() As String
```

</div>

**Returns**

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

The full qualified [string](https://learn.microsoft.com/dotnet/api/system.string)-based path which fulfills the needs of existence, accessibility and other circumstances or a null reference (Nothing in Visual Basic) if the path information could not fulfill at least one of the requirements associated with this [OpcPathProbing](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobing/). For more information about the failure of the evaluation handle the [Failed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobing/members#failed) event of this instance accordingly.

### EvaluateCore

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

When implemented in a derived class, processes the implementation specific evaluation of the [string](https://learn.microsoft.com/dotnet/api/system.string)-based path value associated with this [OpcPathProbing](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobing/) specialization and offers the determined and fulfilled path information accordingly.

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

```csharp
protected abstract string EvaluateCore()
```

</div>

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

```vbnet
Protected MustOverride Function EvaluateCore() As String
```

</div>

**Returns**

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

The full qualified [string](https://learn.microsoft.com/dotnet/api/system.string)-based path which fulfills the needs of this probing or a null reference (Nothing in Visual Basic) if the path information could not fulfill at least one of the requirements of this probing.

### OnFailed

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

Raises the [Failed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobing/members#failed) event of the [OpcPathProbing](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobing/).

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

```csharp
protected virtual void OnFailed(OpcPathProbingFailedEventArgs e)
```

</div>

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

```vbnet
Protected Overridable Sub OnFailed(e As OpcPathProbingFailedEventArgs)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `e` | [OpcPathProbingFailedEventArgs](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobingfailedeventargs/) | The event data offering the reason of the failed evaluation. |

### ReportFailed

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

| Overload | Description |
|---|---|
| [ReportFailed(Exception)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobing/members#reportfailed-system-exception)<span class="api-meta">protected</span> | Reports the failure of the evaluation using the `exception` which led to the nonsuccess. |
| [ReportFailed(Exception, string, params object\[\])](#reportfailed-system-exception-system-string-system-object-array)<span class="api-meta">protected</span> | Reports the failure of the evaluation using the `exception` which led to the nonsuccess. |
| [ReportFailed(string, params object\[\])](#reportfailed-system-string-system-object-array)<span class="api-meta">protected</span> | Reports the failure of the evaluation using the `message` and `arguments` information to describe the evaluation task which failed. |

#### ReportFailed(Exception)

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

Reports the failure of the evaluation using the `exception` which led to the nonsuccess.

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

```csharp
protected void ReportFailed(Exception exception)
```

</div>

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

```vbnet
Protected Sub ReportFailed(exception As Exception)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `exception` | [Exception](https://learn.microsoft.com/dotnet/api/system.exception) | The [Exception](https://learn.microsoft.com/dotnet/api/system.exception) instance which led to the nonsuccess reported or a null reference (Nothing in Visual Basic) if there is no exceptional information available. |

#### ReportFailed(Exception, string, params object\[\])

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

Reports the failure of the evaluation using the `exception` which led to the nonsuccess. The further defined `message` and `arguments` offer additional information about the source of the `exception` or which evaluation task has failed.

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

```csharp
protected void ReportFailed(
    Exception exception,
    string message,
    params object[] arguments)
```

</div>

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

```vbnet
Protected Sub ReportFailed(
    exception As Exception,
    message As String,
    ParamArray arguments As Object())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `exception` | [Exception](https://learn.microsoft.com/dotnet/api/system.exception) | The [Exception](https://learn.microsoft.com/dotnet/api/system.exception) instance which led to the nonsuccess reported or a null reference (Nothing in Visual Basic) if there is no exceptional information available. |
| `message` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The additional description about the failure or a null reference (Nothing in Visual Basic) if there is no more information available. In case there the `message` is a null reference (Nothing in Visual Basic) a default message is used instead. |
| `arguments` | params [Object](https://learn.microsoft.com/dotnet/api/system.object)[] | The arguments to format into the `message` specified. If `message` is a null reference (Nothing in Visual Basic) the array of [object](https://learn.microsoft.com/dotnet/api/system.object) values is ignored. |

#### ReportFailed(string, params object\[\])

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

Reports the failure of the evaluation using the `message` and `arguments` information to describe the evaluation task which failed.

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

```csharp
protected void ReportFailed(string message, params object[] arguments)
```

</div>

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

```vbnet
Protected Sub ReportFailed(message As String, ParamArray arguments As Object())
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `message` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The description about the failure or a null reference (Nothing in Visual Basic) if there is no information available. In case there the `message` is a null reference (Nothing in Visual Basic) a default message is used instead. |
| `arguments` | params [Object](https://learn.microsoft.com/dotnet/api/system.object)[] | The arguments to format into the `message` specified. If `message` is a null reference (Nothing in Visual Basic) the array of [object](https://learn.microsoft.com/dotnet/api/system.object) values is ignored. |

## Events

### Failed

Occurs when a call to [Evaluate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcpathprobing/members#evaluate) failed upon a specific reason. This can be either an exception during the evaluation or the path information does not fulfill one of the circumstances the evaluation assures.

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

```csharp
public event OpcPathProbingFailedEventHandler Failed
```

</div>

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

```vbnet
Public Event Failed As OpcPathProbingFailedEventHandler
```

</div>

**Event type**

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