about_Ref

Se aplica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

TEMA

about_Ref

DESCRIPCIÓN BREVE

Describe cómo crear y usar un tipo de variable de referencia.

DESCRIPCIÓN LARGA

Puede usar el tipo de variable de referencia para permitir que un método cambie el valor de una variable que se le pasa.

Cuando el tipo [ref] está asociado a un objeto, devuelve una referencia a ese objeto. Si la referencia se usa con un método, el método puede hacer referencia al objeto que se le pasó. Si se cambia el objeto dentro del método, el cambio aparece como un cambio en el valor de la variable cuando el control vuelve el método de llamada.

Para usar las referencias, el parámetro debe ser una variable de referencia. En caso de que no lo sea, se produce una excepción InvalidArgument.

Los parámetros que se usan en las invocaciones de método deben coincidir con el tipo que requieren 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 : Reference type is expected in argument.
        At line:1 char:7
        + double  <<<< $number

VEA TAMBIÉN

about_Variables

about_Environment_Variables

about_Functions

about_Script_Blocks