# IOpcNamespaceResolver Members

> Reference: Defines methods to resolve metadata of an OPC UA namespace.

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

## Methods

### Resolve

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

Resolves another namespace using the information in the `source` specified.

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

```csharp
OpcNamespace Resolve(OpcNamespace source)
```

</div>

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

```vbnet
Function Resolve(source As OpcNamespace) As OpcNamespace
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `source` | [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) | The [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) its [Index](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#index) (if specified) or its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#value) (if specified) is used to determine the according namespace known. |

**Returns**

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

The [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) instance known using the index or value of the `source` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

### ResolveIndex

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

Resolves the unique identifier of the namespace specified by the `namespaceValue`.

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

```csharp
int ResolveIndex(string namespaceValue)
```

</div>

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

```vbnet
Function ResolveIndex(namespaceValue As String) As Integer
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaceValue` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The string representation of the namespace its unique numeric identifier is to be resolved. |

**Returns**

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

The unique numeric identifier of the namespace which could be looked up using the `namespaceValue` specified; otherwise -1 if there is no known namespace which matches the `namespaceValue` specified.

### ResolveValue

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

Resolves the [string](https://learn.microsoft.com/dotnet/api/system.string)-based representation of the namespace which can be identified using the `namespaceIndex` specified.

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

```csharp
string ResolveValue(int namespaceIndex)
```

</div>

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

```vbnet
Function ResolveValue(namespaceIndex As Integer) As String
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespaceIndex` | [Int32](https://learn.microsoft.com/dotnet/api/system.int32) | The numeric unique identifier of the namespace its [string](https://learn.microsoft.com/dotnet/api/system.string)-based representation is to be resolved. |

**Returns**

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

The [string](https://learn.microsoft.com/dotnet/api/system.string)-based representation of the namespace which could be looked up using the `namespaceIndex` specified; otherwise a null reference (Nothing in Visual Basic).
