Table of contents
TOC
Collapse the table of content
Expand the table of content

About Ref

JuanPablo Jofre|Last Updated: 11/17/2016
|
2 Contributors

about_Ref

SHORT DESCRIPTION

Describes how to create and use a reference variable type.

LONG DESCRIPTION

You can use the reference variable type to permit a method to change the value of a variable that is passed to it.

When the [ref] type is associated with an object, it returns a reference to that object. If the reference is used with a method, the method can refer to the object that was passed to it. If the object is changed within the method, the change appears as a change in the value of the variable when control returns to the calling method.

To use referencing, the parameter must be a reference variable. If it is not, an InvalidArgument exception is thrown.

The parameters used in method invocations must match the type required by the methods.

Examples:

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

The variable must be a reference variable.

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

SEE ALSO

about_Variables

about_Environment_Variables

about_Functions

about_Script_Blocks

© 2016 Microsoft