# DynamicLinkExtensions

# Class DynamicLinkExtensions

Namespace: TecnoPack
Assembly: CO0002_Templ_FlowpackHMI_V00_9_3.dll

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

    public static class DynamicLinkExtensions

#### Inheritance

object ←
DynamicLinkExtensions

#### Inherited Members

object.GetType(),
object.MemberwiseClone(),
object.ToString(),
object.Equals(object?),
object.Equals(object?, object?),
object.ReferenceEquals(object?, object?),
object.GetHashCode()

## Methods

### GetElementSize(object)

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

    public static int GetElementSize(object obj)

#### Parameters

`obj` object

Oggetto che deve essere un array di tipi valore.

#### Returns

int

Dimensione in byte dell’elemento dell’array.

#### Exceptions

ArgumentException

Se l’oggetto non è un array.

InvalidOperationException

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

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

    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?

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

`sourceSubArrayIndex` uint?

Indice del bit specifico da collegare, se applicabile.

#### Exceptions

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.