ARGOMENTO about_Ref DESCRIZIONE BREVE Descrive come creare e utilizzare un tipo variabile di riferimento. DESCRIZIONE DETTAGLIATA È possibile utilizzare il tipo variabile di riferimento per consentire a un metodo la modifica del valore di una variabile che gli è stata passata. Quando il tipo [ref] viene associato a un oggetto, restituisce un riferimento a tale oggetto. Se il riferimento viene utilizzato con un metodo, questo può fare riferimento a un oggetto che gli è stato passato. Se l'oggetto viene modificato all'interno del metodo, la modifica appare come una modifica del valore della variabile quando il controllo viene restituito al metodo chiamante. Per utilizzare il riferimento, è necessario che il parametro sia una variabile di riferimento. In caso contrario, verrà generata un'eccezione InvalidArgument. I parametri utilizzati nelle chiamate di metodi devono corrispondere al tipo richiesto dai metodi. Esempi: PS> function swap([ref]$a,[ref]$b) >> { >> $a.value,$b.value = $b.value,$a.value >> } PS> $a = 1 PS> $b = 10 PS> $a,$b 1 10 PS> swap ([ref]$a) ([ref]$b) PS> $a,$b 10 1 PS C:\ps-test> function double >> { >> param ([ref]$x) $x.value = $x.value * 2 >> } PS C:> $number = 8 PS C:> $number 8 PS C> double ([ref]$number) PS C> $number 16 The variable must be a reference variable. PS C:\ps-test> double $number double : Reference type is expected in argument. At line:1 char:7 + double <<<< $number VEDERE ANCHE about_Variables about_Environment_Variables about_Functions about_Script_Blocks