我想将几个parameters
发送到function
中,其中之一是array
。
在调用function
之前,数组包含多个项目,通过函数内的调试器查找时,array
为empty\null
:
$arr = New-Object System.Collections.ArrayList
$arr.Add("test1")
GetProcessOutput -exeFile "c:\file.exe" -args $arr
function GetProcessOutput($exeFile, $args)
{
# here my $args is empty -> children could not be evaluated
}
最佳答案
$args
是automatic variable,这意味着您无法将args
名称用于用户定义的变量。
使用任何其他名称,它将起作用:
function GetProcessOutput([string]$exeFile,[array]$arguments)
{
# $arguments will work just fine
}
从
about_Variables
help file: