# OpcDataTypeSystem Class

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

<dl class="api-definition">
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx">Opc.UaFx</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Members</dt>
<dd><a href="./members">OpcDataTypeSystem Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

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.

## Syntax

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

```csharp
public abstract class OpcDataTypeSystem : OpcTypeSystem<OpcDataTypeInfo>
```

</div>

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

```vbnet
Public MustInherit Class OpcDataTypeSystem
    Inherits OpcTypeSystem(Of OpcDataTypeInfo)
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → [OpcTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypesystem-1/)&lt;[OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)&gt; → **OpcDataTypeSystem**

## Implements

<ul class="api-implements">
<li><a href="../opc.uafx.iopctypeprovider/">IOpcTypeProvider</a></li>
<li><a href="../opc.uafx.iopctypesystem/">IOpcTypeSystem</a></li>
</ul>

## Properties

| Name | Description |
|---|---|
| [Binary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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. |
| [Default](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#default)<span class="api-meta">static</span> | Gets the default type system used by the OPC UA stack. |
| [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#empty)<span class="api-meta">static</span> | Gets the type system to use if their is no specific type system data available. |
| [EmptyDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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. |
| [EncodingType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#encodingtype) | Gets the type of encoding used for the data type dictionaries defined in the current OpcDataTypeSystem. |
| [FallbackDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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 but is not declared. |
| [HasCachedDictionaries](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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. |
| [HasCachingCompleted](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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. |
| [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#name) | Gets a value which defines the human-readable name of the type system represented. |
| [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#nodeid) | Gets a value which identifies the type system represented. |
| [Xml](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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. |

## Methods

| Name | Description |
|---|---|
| [GetDictionaries](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionaries) | Retrieves all [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) objects offered by the OpcDataTypeSystem. |
| [GetDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionary)<span class="api-meta">4 overloads</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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#getdictionarycore)<span class="api-meta">protected · virtual · 4 overloads</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. |
| [GetType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettype)<span class="api-meta">2 overloads</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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#gettypecore)<span class="api-meta">protected · 6 overloads</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. |
| [GetTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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 . |
| [Of](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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. |
| [RetrieveDictionariesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#retrievedictionariescore)<span class="api-meta">protected · 2 overloads · 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. |
| [ToString](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#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. |

Inherits members from [OpcTypeSystem&lt;OpcDataTypeInfo&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opctypesystem-1/members).

## Applies to

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