# OpcDataTypeDictionary Members

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

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

## Properties

### ByteOrder

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

Gets the default byte order of the data types defined in this [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/).

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

```csharp
public virtual OpcByteOrder? ByteOrder { get; }
```

</div>

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

```vbnet
Public Overridable ReadOnly Property ByteOrder As OpcByteOrder?
```

</div>

**Property value**

[Nullable](https://learn.microsoft.com/dotnet/api/system.nullable-1)&lt;[OpcByteOrder](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbyteorder/)&gt;

One of the members defined by the [OpcByteOrder](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcbyteorder/) enumeration or a null reference (Nothing in Visual Basic) in case there the dictionary does not declare a specific byte order to use.

### 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.

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

```csharp
public virtual string Documentation { get; }
```

</div>

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

```vbnet
Public Overridable ReadOnly Property Documentation As String
```

</div>

**Property value**

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

A human readable text that describes the type dictionary and that would help a human to understand what the type dictionary defines.

### Empty

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

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

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

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

</div>

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

```vbnet
Public Shared ReadOnly Property Empty 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 [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypesystem/members#empty).

### EmptyType

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

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

```csharp
public OpcDataTypeInfo EmptyType { get; }
```

</div>

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

```vbnet
Public ReadOnly Property EmptyType As OpcDataTypeInfo
```

</div>

**Property value**

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

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

### EncodingType

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

<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.

### 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.

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

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

</div>

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

```vbnet
Protected ReadOnly Property HasCachedTypes As Boolean
```

</div>

**Property value**

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

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

### 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.

<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 dictionary has completed its type information retrieval and will use its internal cache to determine [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects; otherwise the value false.

### IsEmpty

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

Gets a value indicating whether the current [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) represents a type dictionary to use if there is no specific type dictionary described.

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

```csharp
public virtual bool IsEmpty { get; }
```

</div>

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

```vbnet
Public Overridable ReadOnly Property IsEmpty As Boolean
```

</div>

**Property value**

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

The value true if the type dictionary does not declare a specific type dictionary; otherwise the value false.

### Name

Gets a value which defines the non-localizable human-readable name of the type dictionary represented. A node which represents this [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) uses the [Name](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/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 dictionary which does not unambiguously identify the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/).

### Namespace

Gets the namespace within the type dictionary has been declared.

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

```csharp
public OpcNamespace Namespace { get; }
```

</div>

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

```vbnet
Public ReadOnly Property [Namespace] As OpcNamespace
```

</div>

**Property value**

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

An instance of the [OpcNamespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamespace/) class which provides the information about the namespace within the current [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) defines its type data.

### NodeId

Gets a value which identifies the type dictionary represented. A node which represents this [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) uses the [NodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/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 dictionary which unambiguously identifies the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/).

### 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.

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

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

</div>

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

```vbnet
Public ReadOnly Property TypeSystem 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 defines the current [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/).

### 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.

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

```csharp
public virtual string XmlNamespace { get; }
```

</div>

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

```vbnet
Public Overridable ReadOnly Property XmlNamespace As String
```

</div>

**Property value**

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

A [string](https://learn.microsoft.com/dotnet/api/system.string) which represents 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

### GetType

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

| Overload | Description |
|---|---|
| [GetType(OpcEncoding)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/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(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettype-system-string) | 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. |
| [GetType(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettype-opc-uafx-opcname) | 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. |
| [GetType(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettype-opc-uafx-opcnodeid) | 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. |
| [GetType(Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettype-system-type) | 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. |
| [GetType(XmlQualifiedName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/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(string)

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
public OpcDataTypeInfo GetType(string name)
```

</div>

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

```vbnet
Public Function [GetType](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).

**Exceptions**

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

#### GetType(OpcName)

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
public OpcDataTypeInfo GetType(OpcName name)
```

</div>

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

```vbnet
Public Function [GetType](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).

**Exceptions**

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

#### GetType(OpcNodeId)

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
public OpcDataTypeInfo GetType(OpcNodeId typeId)
```

</div>

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

```vbnet
Public Function [GetType](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.

**Exceptions**

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

#### GetType(Type)

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
public OpcDataTypeInfo GetType(Type underlyingType)
```

</div>

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

```vbnet
Public Function [GetType](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.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `underlyingType` 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 · virtual · 6 overloads</span>

| Overload | Description |
|---|---|
| [GetTypeCore(OpcEncoding)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/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.opcdatatypedictionary/members#gettypecore-system-string)<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 `name` specified. |
| [GetTypeCore(OpcName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettypecore-opc-uafx-opcname)<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 `name` specified. |
| [GetTypeCore(OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettypecore-opc-uafx-opcnodeid)<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 `typeId` specified. |
| [GetTypeCore(Type)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#gettypecore-system-type)<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 implemented by the `underlyingType` specified. |
| [GetTypeCore(XmlQualifiedName)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/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 offered by [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-noparams) and [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-system-collections-generic-idictionary-of-system-xml-xmlqualifiedname-opc-uafx-opcdatatypeinfo). Both methods are called only once and their output is cached for subsequent type information retrieval.

#### GetTypeCore(string)

<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 `name` specified.

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

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

</div>

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

```vbnet
Protected Overridable 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).

**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 offered by [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-noparams) and [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-system-collections-generic-idictionary-of-system-xml-xmlqualifiedname-opc-uafx-opcdatatypeinfo). Both methods are called only once and their output is cached for subsequent type information retrieval.

#### GetTypeCore(OpcName)

<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 `name` specified.

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

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

</div>

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

```vbnet
Protected Overridable 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).

**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 offered by [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-noparams) and [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-system-collections-generic-idictionary-of-system-xml-xmlqualifiedname-opc-uafx-opcdatatypeinfo). Both methods are called only once and their output is cached for subsequent type information retrieval.

#### GetTypeCore(OpcNodeId)

<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 `typeId` specified.

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

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

</div>

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

```vbnet
Protected Overridable 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.

**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 offered by [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-noparams) and [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-system-collections-generic-idictionary-of-system-xml-xmlqualifiedname-opc-uafx-opcdatatypeinfo). Both methods are called only once and their output is cached for subsequent type information retrieval.

#### GetTypeCore(Type)

<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 implemented by the `underlyingType` specified.

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

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

</div>

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

```vbnet
Protected Overridable 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.

**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 offered by [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-noparams) and [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-system-collections-generic-idictionary-of-system-xml-xmlqualifiedname-opc-uafx-opcdatatypeinfo). Both methods are called only once and their output is cached for subsequent type information retrieval.

#### 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 offered by [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-noparams) and [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-system-collections-generic-idictionary-of-system-xml-xmlqualifiedname-opc-uafx-opcdatatypeinfo). Both methods are called only once and their output is cached for subsequent type information retrieval.

### GetTypes

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

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

```csharp
public OpcDataTypeInfo[] GetTypes()
```

</div>

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

```vbnet
Public Function GetTypes() 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 [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/).

### 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.

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

```csharp
public static string GetXmlNamespace(OpcNamespace @namespace)
```

</div>

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

```vbnet
Public Shared Function [GetXmlNamespace]([namespace] As OpcNamespace) As String
```

</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/) to use to determine the namespace information used for [XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname) instances. |

**Returns**

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

A [string](https://learn.microsoft.com/dotnet/api/system.string) representing the used [Namespace](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname.namespace) in the context of the `namespace` specified.

### Load

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

| Overload | Description |
|---|---|
| [Load(string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#load-system-string)<span class="api-meta">static · since v2.23</span> | Creates a new [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) instance from the file specified by `filePath`. |
| [Load(Stream)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#load-system-io-stream)<span class="api-meta">static · since v2.23</span> | Creates a new [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) instance from the contents in the `stream` specified. |

#### Load(string)

<span class="api-meta">static · since v2.23</span>

Creates a new [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) instance from the file specified by `filePath`.

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

```csharp
public static OpcDataTypeDictionary Load(string filePath)
```

</div>

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

```vbnet
Public Shared Function Load(filePath As String) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `filePath` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The path to the file from which the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) is to be created. |

**Returns**

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

A new instance of the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) class that represents the contents of the file.

**Exceptions**

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

#### Load(Stream)

<span class="api-meta">static · since v2.23</span>

Creates a new [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) instance from the contents in the `stream` specified.

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

```csharp
public static OpcDataTypeDictionary Load(Stream stream)
```

</div>

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

```vbnet
Public Shared Function Load(stream As Stream) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `stream` | [Stream](https://learn.microsoft.com/dotnet/api/system.io.stream) | The [Stream](https://learn.microsoft.com/dotnet/api/system.io.stream) which contains the data from which the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) is to be created. |

**Returns**

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

A new instance of the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) class that represents the contents of the `stream`.

**Exceptions**

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

### Parse

<span class="api-meta">static · since v2.23</span>

Creates a new [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) instance from the [string](https://learn.microsoft.com/dotnet/api/system.string) specified by `data`.

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

```csharp
public static OpcDataTypeDictionary Parse(string data)
```

</div>

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

```vbnet
Public Shared Function Parse(data As String) As OpcDataTypeDictionary
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `data` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) that contains the data type dictionary data. |

**Returns**

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

**Exceptions**

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

### RetrieveTypesCore

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

| Overload | Description |
|---|---|
| [RetrieveTypesCore()](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-noparams)<span class="api-meta">protected · 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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/). |
| [RetrieveTypesCore(IDictionary&lt;XmlQualifiedName, OpcDataTypeInfo&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/members#retrievetypescore-system-collections-generic-idictionary-of-system-xml-xmlqualifiedname-opc-uafx-opcdatatypeinfo)<span class="api-meta">protected · virtual · since v2.9</span> | When implemented in a derived class, retrieves all [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects on-demand offered by the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) except the already `knownTypes` specified. |

#### RetrieveTypesCore()

<span class="api-meta">protected · 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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/).

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

```csharp
protected IDictionary<XmlQualifiedName, OpcDataTypeInfo> RetrieveTypesCore()
```

</div>

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

```vbnet
Protected Function RetrieveTypesCore() As IDictionary(Of XmlQualifiedName, OpcDataTypeInfo)
```

</div>

**Returns**

[IDictionary](https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2)&lt;[XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname), [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)&gt;

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

#### RetrieveTypesCore(IDictionary&lt;XmlQualifiedName, OpcDataTypeInfo&gt;)

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

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

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

```csharp
protected virtual IEnumerable<OpcDataTypeInfo> RetrieveTypesCore(
    IDictionary<XmlQualifiedName, OpcDataTypeInfo> knownTypes)
```

</div>

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

```vbnet
Protected Overridable Function RetrieveTypesCore(
    knownTypes As IDictionary(Of XmlQualifiedName, OpcDataTypeInfo)) As IEnumerable(Of OpcDataTypeInfo)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `knownTypes` | [IDictionary](https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2)&lt;[XmlQualifiedName](https://learn.microsoft.com/dotnet/api/system.xml.xmlqualifiedname), [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/)&gt; | The dictionary of already known [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects which shall not be offered. |

**Returns**

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

A sequence of [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) objects offered by the [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/) except the types in `knownTypes`.

### 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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/).

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

**Overrides**

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

### 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](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/).

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

```csharp
public static bool TryParse(string data, out OpcDataTypeDictionary dictionary)
```

</div>

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

```vbnet
Public Shared Function TryParse(
    data As String,
    dictionary As OpcDataTypeDictionary) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `data` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The [string](https://learn.microsoft.com/dotnet/api/system.string) to validate. |
| `dictionary` | out [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/) version of the [string](https://learn.microsoft.com/dotnet/api/system.string). |

**Returns**

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

The value true if the specified `data` is a valid [OpcDataTypeDictionary](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypedictionary/); otherwise the value false.
