# OpcClient.GetDataTypes Method

> Reference: Retrieves all OpcDataTypeInfo objects offered by the IOpcTypeProvider.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcClient</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.client">Opc.UaFx.Client</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">OpcClient Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

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

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

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

</div>

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

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

**Exceptions**

| Exception | Condition |
|---|---|
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) | The service execution failed upon different circumstances; for more details see exception details. |
