---
title: DynamicLinkExtensions
---

# <a id="TecnoPack_DynamicLinkExtensions"></a> Class DynamicLinkExtensions

Namespace: [TecnoPack](TecnoPack.md)  
Assembly: CO0002\_Templ\_FlowpackHMI\_V00\_9\_3.dll  

Classe di estensione per la creazione e gestione dei Dynamic Link su variabili UA in FTOptix.

```csharp
public static class DynamicLinkExtensions
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← 
[DynamicLinkExtensions](TecnoPack.DynamicLinkExtensions.md)

#### Inherited Members

[object.GetType\(\)](https://learn.microsoft.com/dotnet/api/system.object.gettype), 
[object.MemberwiseClone\(\)](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), 
[object.ToString\(\)](https://learn.microsoft.com/dotnet/api/system.object.tostring), 
[object.Equals\(object?\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\)), 
[object.Equals\(object?, object?\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\-system\-object\)), 
[object.ReferenceEquals\(object?, object?\)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), 
[object.GetHashCode\(\)](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)

## Methods

### <a id="TecnoPack_DynamicLinkExtensions_GetElementSize_System_Object_"></a> GetElementSize\(object\)

Restituisce la dimensione in byte dell'elemento di un array.

```csharp
public static int GetElementSize(object obj)
```

#### Parameters

`obj` [object](https://learn.microsoft.com/dotnet/api/system.object)

Oggetto che deve essere un array di tipi valore.

#### Returns

 [int](https://learn.microsoft.com/dotnet/api/system.int32)

Dimensione in byte dell'elemento dell'array.

#### Exceptions

 [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception)

Se l'oggetto non è un array.

 [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)

Se il tipo dell’elemento non può essere determinato o non è un tipo valore.

### <a id="TecnoPack_DynamicLinkExtensions_SetDynamicLink_UAManagedCore_IUAVariable_UAManagedCore_IUAVariable_FTOptix_CoreBase_DynamicLinkMode_System_Nullable_System_UInt32__System_Nullable_System_UInt32__"></a> SetDynamicLink\(IUAVariable, IUAVariable, DynamicLinkMode, uint?, uint?\)

Imposta un collegamento dinamico (Dynamic Link) su una variabile, anche in presenza di array complessi o con bit specifici.

```csharp
public static void SetDynamicLink(this IUAVariable variable, IUAVariable source, DynamicLinkMode mode, uint? sourceArrayIndex = null, uint? sourceSubArrayIndex = null)
```

#### Parameters

`variable` IUAVariable

La variabile di destinazione su cui verrà applicato il Dynamic Link.

`source` IUAVariable

La variabile sorgente da cui leggere il valore.

`mode` DynamicLinkMode

La modalità del Dynamic Link (lettura, scrittura, ecc.).

`sourceArrayIndex` [uint](https://learn.microsoft.com/dotnet/api/system.uint32)?

Indice dell'elemento da collegare in caso di array monodimensionale.

`sourceSubArrayIndex` [uint](https://learn.microsoft.com/dotnet/api/system.uint32)?

Indice del bit specifico da collegare, se applicabile.

#### Exceptions

 [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception)

Viene sollevata se:
- L'indice specificato è fuori dai limiti dell'array.
- La sorgente è null.
- Il sotto-indice è maggiore della dimensione in bit dell'elemento.

