# OpcNodeTypeSystem Class

<span class="api-meta">abstract · since v2.9</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">OpcNodeTypeSystem Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Represents a system which defines type information used as templates to initialize different types of nodes. Such nodes can be object, variable or event nodes.

## Syntax

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

```csharp
public abstract class OpcNodeTypeSystem : OpcTypeSystem<OpcNodeTypeInfo>
```

</div>

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

```vbnet
Public MustInherit Class OpcNodeTypeSystem
    Inherits OpcTypeSystem(Of OpcNodeTypeInfo)
```

</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;[OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/)&gt; → **OpcNodeTypeSystem**

## 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 |
|---|---|
| [Context](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/members#context)<span class="api-meta">abstract · since v2.50</span> | Gets the [OpcContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opccontext/) used by this OpcNodeTypeSystem. |
| [Current](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/members#current)<span class="api-meta">static · since v2.20</span> | Gets the type system used by the Client or Server application. |
| [Default](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/members#default)<span class="api-meta">static · since v2.20</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.opcnodetypesystem/members#empty)<span class="api-meta">static</span> | Gets the type system to use if their is no specific type system data available. |
| [HasCachedTypes](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/members#hascachedtypes)<span class="api-meta">protected</span> | Gets a value indicating whether the type system already has determined at least some type information offered as [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) objects. |
| [HasCachingCompleted](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/members#hascachingcompleted)<span class="api-meta">protected · virtual</span> | Gets a value indicating whether the type system has determined the whole type information offered as [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) objects. |

## Methods

| Name | Description |
|---|---|
| [GetTypeCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/members#gettypecore)<span class="api-meta">protected · override · 4 overloads</span> | Retrieves the [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) object which is known under the `name` specified. |
| [GetTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/members#gettypescore)<span class="api-meta">protected · override</span> | Retrieves all [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) objects offered by the current OpcNodeTypeSystem . |
| [RetrieveTypesCore](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypesystem/members#retrievetypescore)<span class="api-meta">protected · 2 overloads</span> | Retrieves all [OpcNodeTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/) objects explictly offered by the OpcNodeTypeSystem. |

Inherits members from [OpcTypeSystem&lt;OpcNodeTypeInfo&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.9–v2.59 |
