# OpcDataTypeDictionary Class

> Reference: Represents a self-describing block which offers a set of type declarations used for data types and summarizes them within a Namespace.

<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">OpcDataTypeDictionary Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Represents a self-describing block which offers a set of type declarations used for data types and summarizes them within a [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#namespace).

## Syntax

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

```csharp
public abstract class OpcDataTypeDictionary
```

</div>

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

```vbnet
Public MustInherit Class OpcDataTypeDictionary
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → **OpcDataTypeDictionary**

## Implements

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

## Properties

| Name | Description |
|---|---|
| [ByteOrder](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#byteorder)<span class="api-meta">virtual</span> | Gets the default byte order of the data types defined in this OpcDataTypeDictionary. |
| [Documentation](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#documentation)<span class="api-meta">virtual · since v2.9</span> | Gets any semantic information that would help a human to understand what the type dictionary defines. |
| [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#empty)<span class="api-meta">static</span> | Gets the type dictionary to use if their is no specific type dictionary data available. |
| [EmptyType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#emptytype) | Gets the type to use if their is no specific type data available, but the empty type shall refer to the current OpcDataTypeDictionary. |
| [EncodingType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#encodingtype) | Gets the type of encoding used for the data types defined in the current OpcDataTypeDictionary. |
| [HasCachedTypes](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#hascachedtypes)<span class="api-meta">protected</span> | Gets a value indicating whether the type dictionary already has determined at least some type information offered as [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects. |
| [HasCachingCompleted](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#hascachingcompleted)<span class="api-meta">protected · virtual</span> | Gets a value indicating whether the type dictionary has determined the whole type information offered as [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects. |
| [IsEmpty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#isempty)<span class="api-meta">virtual</span> | Gets a value indicating whether the current OpcDataTypeDictionary represents a type dictionary to use if there is no specific type dictionary described. |
| [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#name) | Gets a value which defines the non-localizable human-readable name of the type dictionary represented. |
| [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#namespace) | Gets the namespace within the type dictionary has been declared. |
| [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#nodeid) | Gets a value which identifies the type dictionary represented. |
| [TypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#typesystem) | Gets the the [OpcDataTypeSystem](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/) which conains the data dictionary represented. |
| [XmlNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#xmlnamespace)<span class="api-meta">virtual</span> | Gets the [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#namespace) used in the XML-based declaration of the type dictionary. |

## Methods

| Name | Description |
|---|---|
| [GetType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettype)<span class="api-meta">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. |
| [GetTypeCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettypecore)<span class="api-meta">protected · virtual · 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. |
| [GetTypes](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettypes) | Retrieves all [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects offered by the OpcDataTypeDictionary. |
| [GetXmlNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#getxmlnamespace)<span class="api-meta">static</span> | Determines the namespace information used to initialize [XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname) instances to identify [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects using a full qualified name. |
| [Load](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#load)<span class="api-meta">static · 2 overloads · since v2.23</span> | Creates a new OpcDataTypeDictionary instance from the file specified by `filePath`. |
| [Parse](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#parse)<span class="api-meta">static · since v2.23</span> | Creates a new OpcDataTypeDictionary instance from the [string](https://learn.microsoft.com/dotnet/api/system.string) specified by `data`. |
| [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore)<span class="api-meta">protected · 2 overloads · since v2.9</span> | Retrieves all [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects explictly offered by the OpcDataTypeDictionary. |
| [ToString](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/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.opcdatatypedictionary/members#name) and the [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#namespace) of the current OpcDataTypeDictionary. |
| [TryParse](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#tryparse)<span class="api-meta">static · since v2.23</span> | Determines whether a [string](https://learn.microsoft.com/dotnet/api/system.string) is a valid OpcDataTypeDictionary. |

## Applies to

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