Поделиться через


about_Ref

Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0

РАЗДЕЛ

about_Ref

КРАТКОЕ ОПИСАНИЕ

Содержит описание порядка создания и использования типа ссылочной переменной.

ПОДРОБНОЕ ОПИСАНИЕ

Тип ссылочной переменной можно использовать, чтобы разрешить методу изменять значение переданной ему переменной.

Если с объектом связан тип [ref], он возвращает ссылку на этот объект. Если в методе используется ссылка, метод может ссылаться на переданный ему объект. Изменение объекта, выполненное внутри метода, отображается как изменение значения переменной после возвращения управления вызывающему методу.

При использовании ссылок переданный параметр должен представлять собой ссылочную переменную. В противном случае возникает исключение InvalidArgument.

Параметры, использовавшиеся при вызове метода, должны иметь типы, требуемые методом.

Примеры:

        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

Переменная должна быть ссылочной.

        PS C:\ps-test> double $number
        double : Reference type is expected in argument.
        At line:1 char:7
        + double  <<<< $number

СМ. ТАКЖЕ

about_Variables

about_Environment_Variables

about_Functions

about_Script_Blocks