TEMA
about_Ref
DESCRIPCIÓN BREVE
Describe cómo se crea y se usa un tipo de variable de referencia.
DESCRIPCIÓN DETALLADA
Puede usar el tipo de variable de referencia para permitir que un
método cambie el valor de una variable que se le ha transferido.
Cuando se asocia el tipo [ref] con un objeto, devuelve una
referencia a dicho objeto. Si la referencia se usa con un método,
el método puede hacer referencia al objeto que se le ha pasado.
Si se modifica el objeto dentro del método, el cambio quedará reflejado
como un cambio en el valor de la variable cuando el control vuelva al
método de llamada.
Para poder usar referencias, el parámetro debe ser una variable de
referencia. De lo contrario, se produce una excepción InvalidArgument.
Los parámetros usados en las llamadas de métodos deben coincidir
con el tipo requerido por los métodos.
Ejemplos:
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
La variable debe ser una variable de referencia.
PS C:\ps-test> double $number
double: en el argumento se espera el tipo de referencia.
En línea:1 carácter:7
+ double <<<< $number
VEA TAMBIÉN
about_Variables
about_Environment_Variables
about_Functions
about_Script_Blocks