# API Changes in v2.27

> Reference: API changes of Opc.UaFx.Advanced in v2.27: 20 added, 0 removed, 0 changed, 0 obsoleted.

<dl class="api-definition">
<dt>Release</dt>
<dd>v2.27.0</dd>
<dt>Compared with</dt>
<dd>v2.26.0</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced</dd>
</dl>

## Added

### Opc.UaFx

| Symbol | Signature |
|---|---|
| [IOpcDataTypeMapper](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcdatatypemapper/)<span class="api-meta">2 members</span> | `public interface IOpcDataTypeMapper` |
| [IOpcNodeInfo.Child](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcnodeinfo/members#child-system-string) | `IOpcNodeInfo Child(string name)` |
| [OpcData.RegisterTypeMapper](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#registertypemapper-opc-uafx-iopcdatatypemapper) | `public static void RegisterTypeMapper(IOpcDataTypeMapper mapper)` |
| [OpcData.RegisterTypeMapper&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#registertypemapper-t1) | `public static void RegisterTypeMapper<T>() where T : IOpcDataTypeMapper, new()` |
| [OpcData.TryGetTypeMapper](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#trygettypemapper-system-type-opc-uafx-iopcdatatypemapper-ref-system-type-ref) | `public static bool TryGetTypeMapper(Type sourceType, out IOpcDataTypeMapper mapper, out Type targetType)` |
| [OpcData.TryGetTypeMapper](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#trygettypemapper-system-type-opc-uafx-iopcdatatypemapper-ref) | `public static bool TryGetTypeMapper(Type sourceType, out IOpcDataTypeMapper mapper)` |
| [OpcData.TryGetTypeMapper&lt;TSource&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#trygettypemapper-t1-opc-uafx-iopcdatatypemapper-ref) | `public static bool TryGetTypeMapper<TSource>(out IOpcDataTypeMapper mapper)` |
| [OpcData.UnregisterTypeMapper](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#unregistertypemapper-opc-uafx-iopcdatatypemapper) | `public static void UnregisterTypeMapper(IOpcDataTypeMapper mapper)` |
| [OpcData.UnregisterTypeMapper&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdata/members#unregistertypemapper-t1) | `public static void UnregisterTypeMapper<T>() where T : IOpcDataTypeMapper, new()` |
| [OpcDataTypeMapper](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypemapper/)<span class="api-meta">9 members</span> | `public abstract class OpcDataTypeMapper : IOpcDataTypeMapper` |
| [OpcDataTypeMapperAttribute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypemapperattribute/)<span class="api-meta">3 members</span> | `[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)] public class OpcDataTypeMapperAttribute : Attribute` |
| [OpcModellingRule](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodellingrule/)<span class="api-meta">6 members</span> | `public enum OpcModellingRule` |
| [OpcModellingRules](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodellingrules/)<span class="api-meta">7 members</span> | `public static class OpcModellingRules` |
| [OpcNode.DefineModel&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members#definemodel-t1-opc-uafx-opcmodellingrule-opc-uafx-opcnamepath) | `protected static void DefineModel<T>(OpcModellingRule rule, OpcNamePath path) where T : OpcNode` |
| [OpcNode.DefineModel&lt;T&gt;](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnode/members#definemodel-t1-opc-uafx-opcmodellingrule-opc-uafx-opcname-array) | `protected static void DefineModel<T>(OpcModellingRule rule, params OpcName[] pathElements) where T : OpcNode` |
| [OpcNodeTypeInfo.Child](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodetypeinfo/members#child-system-string) | `public IOpcNodeInfo Child(string name)` |
| [OpcOrderedObjectNode.NumberInList](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcorderedobjectnode/members#numberinlist) | `public int NumberInList { get; }` |
| [OpcOrderedObjectNode.NumberInListNode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcorderedobjectnode/members#numberinlistnode) | `public OpcPropertyNode<int> NumberInListNode { get; }` |

### Opc.UaFx.Client

| Symbol | Signature |
|---|---|
| [OpcClient.OnTypeResolve](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/ontyperesolve) | `protected virtual void OnTypeResolve(OpcTypeResolveEventArgs e)` |
| [OpcClient.TypeResolve](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/typeresolve) | `public event OpcTypeResolveEventHandler TypeResolve` |
