# OpcDataTypeSystem Members

> Reference: Represents an encoding-based system which is organized in type dictionaries to define type information to use to understand data exchanged via OPC UA using a specific type of encoding.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcDataTypeSystem</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 [OpcTypeSystem&lt;OpcDataTypeInfo&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypesystem-1/members).

## Properties

### Binary

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

Gets the type system used for [Binary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/#binary) encoded type information offered by the Client or Server application.

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

```csharp
public static OpcDataTypeSystem Binary { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Binary As OpcDataTypeSystem
```

</div>

**Property value**

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

An instance of the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) class which contains the type dictionaries described by the [Type](https://learn.microsoft.com/dotnet/api/system.type)s using the [OpcDataTypeEncodingAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeencodingattribute/) with the [Binary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/#binary) encoding type implemented in the application which uses the OPC UA SDK.

### Default

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

Gets the default type system used by the OPC UA stack.

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

```csharp
public static OpcDataTypeSystem Default { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property [Default] As OpcDataTypeSystem
```

</div>

**Property value**

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

An instance of the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) class which contains the type dictionaries used by default in Client and Server applications.

**Remarks**

The information offered by the default [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) is embedded in the OPC UA SDK and is therefore determined from the resources of the assembly whenever required.

### Empty

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

Gets the type system to use if their is no specific type system data available.

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

```csharp
public static OpcDataTypeSystem Empty { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Empty As OpcDataTypeSystem
```

</div>

**Property value**

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

An instance of the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) class which contains no type dictionary nor type information.

### EmptyDictionary

Gets the type dictionary to use if their is no specific type dictionary data available, but the empty type dictionary shall refer to the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

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

```csharp
public OpcDataTypeDictionary EmptyDictionary { get; }
```

</div>

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

```vbnet
Public ReadOnly Property EmptyDictionary As OpcDataTypeDictionary
```

</div>

**Property value**

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

An instance of the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) class which refers to the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

### EncodingType

Gets the type of encoding used for the data type dictionaries defined in the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

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

```csharp
public OpcEncodingType EncodingType { get; }
```

</div>

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

```vbnet
Public ReadOnly Property EncodingType As OpcEncodingType
```

</div>

**Property value**

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

One of the members defined by the [OpcEncodingType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/) enumeration.

### FallbackDataTypeSystem

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

Gets the data type system used as the fallback system to query data type information which is referenced in the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) but is not declared.

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

```csharp
public OpcDataTypeSystem FallbackDataTypeSystem { get; }
```

</div>

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

```vbnet
Public ReadOnly Property FallbackDataTypeSystem As OpcDataTypeSystem
```

</div>

**Property value**

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

An instance of the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) class used to query data type information which is referenced but not declared within the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) or a null reference (Nothing in Visual Basic) if the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) is independent from a different data type system. Such data type systems typically declare types which only reference others declared in the same system as well.

### HasCachedDictionaries

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

Gets a value indicating whether the type system already has determined at least some type dictionaries offered as [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects.

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

```csharp
protected bool HasCachedDictionaries { get; }
```

</div>

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

```vbnet
Protected ReadOnly Property HasCachedDictionaries As Boolean
```

</div>

**Property value**

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

The value true if the system offers already prepared [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects; otherwise the value false.

### HasCachingCompleted

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

Gets a value indicating whether the type system has determined all type dictionaries offered as [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects.

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

```csharp
protected virtual bool HasCachingCompleted { get; }
```

</div>

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

```vbnet
Protected Overridable Property HasCachingCompleted As Boolean
```

</div>

**Property value**

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

The value true if the system has completed its type dictionary retrieval and will use its internal cache to determine [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects; otherwise the value false.

### Name

Gets a value which defines the human-readable name of the type system represented. A node which represents this [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) uses the [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#name) as its [BrowseName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#browsename).

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

```csharp
public OpcName Name { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Name As OpcName
```

</div>

**Property value**

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

An instance of the [OpcName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/) class with the [string](https://learn.microsoft.com/dotnet/api/system.string) used as the name of the type system which does not unambiguously identify the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

### NodeId

Gets a value which identifies the type system represented. A node which represents this [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) uses the [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#nodeid) as its [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#nodeid).

<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/)

An instance of the [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) class used as the identifier of the type system which unambiguously identifies the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

### Xml

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

Gets the type system used for [Xml](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/#xml) encoded type information offered by the Client or Server application.

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

```csharp
public static OpcDataTypeSystem Xml { get; }
```

</div>

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

```vbnet
Public Shared ReadOnly Property Xml As OpcDataTypeSystem
```

</div>

**Property value**

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

An instance of the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) class which contains the type dictionaries described by the [Type](https://learn.microsoft.com/dotnet/api/system.type)s using the [OpcDataTypeEncodingAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeencodingattribute/) with the [Xml](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/#xml) encoding type implemented in the application which uses the OPC UA SDK.

## Methods

### GetDictionaries

Retrieves all [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects offered by the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

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

```csharp
public OpcDataTypeDictionary[] GetDictionaries()
```

</div>

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

```vbnet
Public Function GetDictionaries() As OpcDataTypeDictionary()
```

</div>

**Returns**

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

An array that contains all [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects that are offered by the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

### GetDictionary

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

| Overload | Description |
|---|---|
| [GetDictionary(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionary-system-string) | Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `nameOrNamespace` specified. |
| [GetDictionary(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionary-opc-uafx-opcname) | Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `name` specified. |
| [GetDictionary(OpcNamespace)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionary-opc-uafx-opcnamespace) | Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `namespace` specified. |
| [GetDictionary(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionary-opc-uafx-opcnodeid) | Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which represents the type dictionary which is identified by the `nodeId` specified. |

#### GetDictionary(string)

Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `nameOrNamespace` specified.

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

```csharp
public OpcDataTypeDictionary GetDictionary(string nameOrNamespace)
```

</div>

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

```vbnet
Public Function GetDictionary(
    nameOrNamespace As String) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nameOrNamespace` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) to use to identify the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object to retrieve. |

**Returns**

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

The [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#name) (regarding its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value)) or its [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#namespace) (regarding its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#value)) or its [XmlNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#xmlnamespace) is equals to the `nameOrNamespace` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

#### GetDictionary(OpcName)

Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `name` specified.

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

```csharp
public OpcDataTypeDictionary GetDictionary(OpcName name)
```

</div>

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

```vbnet
Public Function GetDictionary(name As OpcName) As OpcDataTypeDictionary
```

</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/) of the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object to retrieve. |

**Returns**

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

The [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#name) is equals to the `name` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

#### GetDictionary(OpcNamespace)

Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `namespace` specified.

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

```csharp
public OpcDataTypeDictionary GetDictionary(OpcNamespace @namespace)
```

</div>

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

```vbnet
Public Function GetDictionary(
    [namespace] As OpcNamespace) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespace` | [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/) of the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object to retrieve. |

**Returns**

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

The [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object its [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#namespace) is equals to the `namespace` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

#### GetDictionary(OpcNodeId)

Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which represents the type dictionary which is identified by the `nodeId` specified.

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

```csharp
public OpcDataTypeDictionary GetDictionary(OpcNodeId nodeId)
```

</div>

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

```vbnet
Public Function GetDictionary(nodeId As OpcNodeId) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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/) which identifies the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) to retrieve. |

**Returns**

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

The [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `nodeId` specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is associated with the `nodeId` specified.

**Exceptions**

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

### GetDictionaryCore

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

| Overload | Description |
|---|---|
| [GetDictionaryCore(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionarycore-system-string)<span class="api-meta">protected · virtual</span> | Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `nameOrNamespace` specified. |
| [GetDictionaryCore(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionarycore-opc-uafx-opcname)<span class="api-meta">protected · virtual</span> | Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `name` specified. |
| [GetDictionaryCore(OpcNamespace)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionarycore-opc-uafx-opcnamespace)<span class="api-meta">protected · virtual</span> | Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `namespace` specified. |
| [GetDictionaryCore(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionarycore-opc-uafx-opcnodeid)<span class="api-meta">protected · virtual</span> | Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which represents the type dictionary which is identified by the `nodeId` specified. |

#### GetDictionaryCore(string)

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

Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `nameOrNamespace` specified.

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

```csharp
protected virtual OpcDataTypeDictionary GetDictionaryCore(
    string nameOrNamespace)
```

</div>

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

```vbnet
Protected Overridable Function GetDictionaryCore(
    nameOrNamespace As String) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nameOrNamespace` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) to use to identify the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object to retrieve. |

**Returns**

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

The [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#name) (regarding its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value)) or its [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#namespace) (regarding its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/members#value)) or its [XmlNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#xmlnamespace) is equals to the `nameOrNamespace` specified; otherwise a null reference (Nothing in Visual Basic).

**Remarks**

It is already assured that the passed `nameOrNamespace` is not a null reference (Nothing in Visual Basic) nor equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty). In case there this method is not implemented in a derived class this method determines the type dictionary from a distinct and on-demand determined sequence which combines the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval.

#### GetDictionaryCore(OpcName)

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

Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `name` specified.

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

```csharp
protected virtual OpcDataTypeDictionary GetDictionaryCore(OpcName name)
```

</div>

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

```vbnet
Protected Overridable Function GetDictionaryCore(
    name As OpcName) As OpcDataTypeDictionary
```

</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/) of the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object to retrieve. |

**Returns**

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

The [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#name) is equals to the `name` specified; otherwise a null reference (Nothing in Visual Basic).

**Remarks**

It is already assured that the passed `name` is not a null reference (Nothing in Visual Basic). In case there this method is not implemented in a derived class this method determines the type dictionary from a distinct and on-demand determined sequence which combines the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval.

#### GetDictionaryCore(OpcNamespace)

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

Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `namespace` specified.

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

```csharp
protected virtual OpcDataTypeDictionary GetDictionaryCore(
    OpcNamespace @namespace)
```

</div>

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

```vbnet
Protected Overridable Function GetDictionaryCore(
    [namespace] As OpcNamespace) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `namespace` | [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/) of the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object to retrieve. |

**Returns**

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

The [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object its [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#namespace) is equals to the `namespace` specified; otherwise a null reference (Nothing in Visual Basic).

**Remarks**

It is already assured that the passed `namespace` is not a null reference (Nothing in Visual Basic). In case there this method is not implemented in a derived class this method determines the type dictionary from a distinct and on-demand determined sequence which combines the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval.

#### GetDictionaryCore(OpcNodeId)

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

Retrieves the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which represents the type dictionary which is identified by the `nodeId` specified.

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

```csharp
protected virtual OpcDataTypeDictionary GetDictionaryCore(OpcNodeId nodeId)
```

</div>

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

```vbnet
Protected Overridable Function GetDictionaryCore(
    nodeId As OpcNodeId) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `nodeId` | [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/) which identifies the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) to retrieve. |

**Returns**

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

The [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is known under the `nodeId` specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) object which is associated with the `nodeId` specified.

**Remarks**

It is already assured that the passed `nodeId` is not a null reference (Nothing in Visual Basic). In case there this method is not implemented in a derived class this method determines the type dictionary from a distinct and on-demand determined sequence which combines the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval.

### GetType

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

| Overload | Description |
|---|---|
| [GetType(OpcEncoding)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettype-opc-uafx-opcencoding) | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `encoding` specified. |
| [GetType(XmlQualifiedName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettype-system-xml-xmlqualifiedname) | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `xmlName` specified. |

#### GetType(OpcEncoding)

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `encoding` specified.

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

```csharp
public OpcDataTypeInfo GetType(OpcEncoding encoding)
```

</div>

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

```vbnet
Public Function [GetType](encoding As OpcEncoding) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `encoding` | [OpcEncoding](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencoding/) | The [OpcEncoding](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencoding/) which identifies the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) to retrieve. |

**Returns**

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

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `encoding` specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) which is associated with the `encoding` specified.

**Exceptions**

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

#### GetType(XmlQualifiedName)

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `xmlName` specified.

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

```csharp
public OpcDataTypeInfo GetType(XmlQualifiedName xmlName)
```

</div>

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

```vbnet
Public Function [GetType](xmlName As XmlQualifiedName) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `xmlName` | [XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname) | The [XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname) of the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object to retrieve. |

**Returns**

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

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object its [XmlName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/members#xmlname) is equals to the `xmlName` specified; otherwise a null reference (Nothing in Visual Basic).

**Exceptions**

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

### GetTypeCore

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

| Overload | Description |
|---|---|
| [GetTypeCore(OpcEncoding)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettypecore-opc-uafx-opcencoding)<span class="api-meta">protected · virtual</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `encoding` specified. |
| [GetTypeCore(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettypecore-system-string)<span class="api-meta">protected · override</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `name` specified. |
| [GetTypeCore(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettypecore-opc-uafx-opcname)<span class="api-meta">protected · override</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `name` specified. |
| [GetTypeCore(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettypecore-opc-uafx-opcnodeid)<span class="api-meta">protected · override</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `typeId` specified. |
| [GetTypeCore(Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettypecore-system-type)<span class="api-meta">protected · override</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type implemented by the `underlyingType` specified. |
| [GetTypeCore(XmlQualifiedName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettypecore-system-xml-xmlqualifiedname)<span class="api-meta">protected · virtual</span> | Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `xmlName` specified. |

#### GetTypeCore(OpcEncoding)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `encoding` specified.

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

```csharp
protected virtual OpcDataTypeInfo GetTypeCore(OpcEncoding encoding)
```

</div>

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

```vbnet
Protected Overridable Function GetTypeCore(
    encoding As OpcEncoding) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `encoding` | [OpcEncoding](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencoding/) | The [OpcEncoding](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencoding/) which identifies the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) to retrieve. |

**Returns**

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

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `encoding` specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) which is associated with the `encoding` specified.

**Remarks**

It is already assured that the passed `encoding` is not a null reference (Nothing in Visual Basic). In case there this method is not implemented in a derived class this method determines the type from a distinct and on-demand determined sequence which combines the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects determined from the sequence of dictionaries offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval. These dictionaries are then queried for the type information requested.

#### GetTypeCore(string)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `name` specified.

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

```csharp
protected override OpcDataTypeInfo GetTypeCore(string name)
```

</div>

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

```vbnet
Protected Overrides Function GetTypeCore(name As String) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `name` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) to use to identify the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object to retrieve. |

**Returns**

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

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/members#name) is equals (regarding its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcname/members#value)) to the `name` specified; otherwise a null reference (Nothing in Visual Basic).

**Overrides**

[GetTypeCore(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypesystem-1/members#gettypecore-system-string)

**Remarks**

It is already assured that the passed `name` is not a null reference (Nothing in Visual Basic) nor equals [Empty](https://learn.microsoft.com/dotnet/api/system.string.empty). In case there this method is not implemented in a derived class this method determines the type from a distinct and on-demand determined sequence which combines the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects determined from the sequence of dictionaries offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval. These dictionaries are then queried for the type information requested.

#### GetTypeCore(OpcName)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `name` specified.

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

```csharp
protected override OpcDataTypeInfo GetTypeCore(OpcName name)
```

</div>

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

```vbnet
Protected Overrides Function GetTypeCore(name As OpcName) As OpcDataTypeInfo
```

</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/) of the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object to retrieve. |

**Returns**

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

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object its [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/members#name) is equals to the `name` specified; otherwise a null reference (Nothing in Visual Basic).

**Overrides**

[GetTypeCore(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypesystem-1/members#gettypecore-opc-uafx-opcname)

**Remarks**

It is already assured that the passed `name` is not a null reference (Nothing in Visual Basic). In case there this method is not implemented in a derived class this method determines the type from a distinct and on-demand determined sequence which combines the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects determined from the sequence of dictionaries offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval. These dictionaries are then queried for the type information requested.

#### GetTypeCore(OpcNodeId)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type which is identified by the `typeId` specified.

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

```csharp
protected override OpcDataTypeInfo GetTypeCore(OpcNodeId typeId)
```

</div>

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

```vbnet
Protected Overrides Function GetTypeCore(typeId As OpcNodeId) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `typeId` | [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/) which identifies the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) to retrieve. |

**Returns**

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

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `typeId` specified or a null reference (Nothing in Visual Basic) if there doesn't exist a known [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is associated with the `typeId` specified.

**Overrides**

[GetTypeCore(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypesystem-1/members#gettypecore-opc-uafx-opcnodeid)

**Remarks**

It is already assured that the passed `typeId` is not a null reference (Nothing in Visual Basic). In case there this method is not implemented in a derived class this method determines the type from a distinct and on-demand determined sequence which combines the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects determined from the sequence of dictionaries offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval. These dictionaries are then queried for the type information requested.

#### GetTypeCore(Type)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the type implemented by the `underlyingType` specified.

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

```csharp
protected override OpcDataTypeInfo GetTypeCore(Type underlyingType)
```

</div>

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

```vbnet
Protected Overrides Function GetTypeCore(
    underlyingType As Type) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `underlyingType` | [Type](https://learn.microsoft.com/dotnet/api/system.type) | The [Type](https://learn.microsoft.com/dotnet/api/system.type) which implements the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) to retrieve. |

**Returns**

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

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which declares the `underlyingType` specified or a null reference (Nothing in Visual Basic) if there isn't a [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object associated with the `underlyingType` specified.

**Overrides**

[GetTypeCore(Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypesystem-1/members#gettypecore-system-type)

**Remarks**

It is already assured that the passed `underlyingType` is not a null reference (Nothing in Visual Basic). In case there this method is not implemented in a derived class this method determines the type from a distinct and on-demand determined sequence which combines the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects determined from the sequence of dictionaries offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval. These dictionaries are then queried for the type information requested.

#### GetTypeCore(XmlQualifiedName)

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

Retrieves the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object which is known under the `xmlName` specified.

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

```csharp
protected virtual OpcDataTypeInfo GetTypeCore(XmlQualifiedName xmlName)
```

</div>

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

```vbnet
Protected Overridable Function GetTypeCore(
    xmlName As XmlQualifiedName) As OpcDataTypeInfo
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `xmlName` | [XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname) | The [XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname) of the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object to retrieve. |

**Returns**

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

The [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) object its [XmlName](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/members#xmlname) is equals to the `xmlName` specified; otherwise a null reference (Nothing in Visual Basic).

**Remarks**

It is already assured that the passed `xmlName` is not a null reference (Nothing in Visual Basic). In case there this method is not implemented in a derived class this method determines the type from a distinct and on-demand determined sequence which combines the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects determined from the sequence of dictionaries offered by [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams) and [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary). Both methods are called only once and their output is cached for subsequent type dictionary retrieval. These dictionaries are then queried for the type information requested.

### GetTypesCore

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

Retrieves all [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects offered by the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) .

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

```csharp
protected override OpcDataTypeInfo[] GetTypesCore()
```

</div>

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

```vbnet
Protected Overrides Function GetTypesCore() As OpcDataTypeInfo()
```

</div>

**Returns**

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

An array that contains all [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects that are offered by the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

**Overrides**

[GetTypesCore()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypesystem-1/members#gettypescore)

### Of

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

Retrieves the type system used for the `encodingType` specified which provides encoded type information offered by the Client or Server application.

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

```csharp
public static OpcDataTypeSystem Of(OpcEncodingType encodingType)
```

</div>

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

```vbnet
Public Shared Function [Of](
    encodingType As OpcEncodingType) As OpcDataTypeSystem
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `encodingType` | [OpcEncodingType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/) | One of the members defined by the [OpcEncodingType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/) enumeration which identifies the type system to retrieve. |

**Returns**

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

An instance of the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) class which contains the type dictionaries described by the [Type](https://learn.microsoft.com/dotnet/api/system.type)s using the [OpcDataTypeEncodingAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeencodingattribute/) with the [OpcEncodingType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcencodingtype/) specified by `encodingType` and implemented in the application which uses the OPC UA SDK.

### RetrieveDictionariesCore

<span class="api-meta">protected · 2 overloads · since v2.9</span>

| Overload | Description |
|---|---|
| [RetrieveDictionariesCore()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-noparams)<span class="api-meta">protected · since v2.9</span> | Retrieves all [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects explictly offered by the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/). |
| [RetrieveDictionariesCore(IList&lt;OpcDataTypeDictionary&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore-system-collections-generic-ilist-of-opc-uafx-opcdatatypedictionary)<span class="api-meta">protected · virtual · since v2.9</span> | When implemented in a derived class, retrieves all [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects on-demand offered by the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) except the already `knownDictionaries` specified. |

#### RetrieveDictionariesCore()

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

Retrieves all [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects explictly offered by the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

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

```csharp
protected IList<OpcDataTypeDictionary> RetrieveDictionariesCore()
```

</div>

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

```vbnet
Protected Function RetrieveDictionariesCore() As IList(Of OpcDataTypeDictionary)
```

</div>

**Returns**

[IList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1)&lt;[OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/)&gt;

A list of explictly offered [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects.

#### RetrieveDictionariesCore(IList&lt;OpcDataTypeDictionary&gt;)

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

When implemented in a derived class, retrieves all [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects on-demand offered by the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) except the already `knownDictionaries` specified.

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

```csharp
protected virtual IEnumerable<OpcDataTypeDictionary> RetrieveDictionariesCore(
    IList<OpcDataTypeDictionary> knownDictionaries)
```

</div>

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

```vbnet
Protected Overridable Function RetrieveDictionariesCore(
    knownDictionaries As IList(Of OpcDataTypeDictionary)) As IEnumerable(Of OpcDataTypeDictionary)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `knownDictionaries` | [IList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1)&lt;[OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/)&gt; | The list of already known [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects which shall not be offered. |

**Returns**

[IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/)&gt;

A sequence of [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects offered by the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) except the type dictionaries in `knownDictionaries`.

### ToString

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

Returns a [string](https://learn.microsoft.com/dotnet/api/system.string) representing the [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#name) of the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

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

```csharp
public override string ToString()
```

</div>

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

```vbnet
Public Overrides Function ToString() As String
```

</div>

**Returns**

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

A [string](https://learn.microsoft.com/dotnet/api/system.string) representing the [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#name) of the current [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/).

**Overrides**

[ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)
