РАЗДЕЛ
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: Ссылочный тип ожидается в аргументе.
В строке:1 знак:7
+ double <<<< $number
СМ. ТАКЖЕ
about_Variables
about_Environment_Variables
about_Functions
about_Script_Blocks