Compartilhar via


about_Ref

TÓPICO
    about_Ref

DESCRIÇÃO RESUMIDA
    Descreve como criar e usar um tipo de variável de referência.

DESCRIÇÃO LONGA
    Você pode usar o tipo de variável de referência para permitir que 
    um método altere o valor de uma variável transmitido para ele. 

    Quando o tipo [ref] é associado a um objeto, ele retorna uma referência 
    a esse objeto. Se a referência for usada com um método, ele poderá 
    se referir ao objeto transmitido para ele. Se o objeto tiver sido 
    alterado dentro do método, a alteração aparecerá como uma alteração 
    no valor da variável quando o controle retornar ao método de chamada. 

    Para usar as referências, o parâmetro deve ser uma variável de 
    referência. Caso contrário, uma exceção InvalidArgument será lançada.

    Os parâmetros usados em chamadas de método devem ter o mesmo tipo 
    exigido pelos métodos. 

    Exemplos:
    
    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
    
    A variável deve ser uma variável de referência.

    PS C:\ps-test> double $number
    double : Tipo de referência esperado em um argumento.
    At line:1 char:7
    + double <<<< $number
    
 
CONSULTE TAMBÉM
    about_Variables
    about_Environment_Variables
    about_Functions
    about_Script_Blocks