function ExtractLocations([ref]$lp_Locations) {
$lp_Locations.Value = "A STRING VALUE"
return 0
}
...
$Locations = ""
if (@(ExtractLocations([ref]$Locations)) -ne 0) {
RecordErrorThenExit
}
$Locations
始终以空白字符串结尾。
答案 0 :(得分:0)
除了@ mklemen0所说的那样,要设置值,您不需要像$Variable.Value = 'Something'
那样做,它只是$Variable = 'Something'
使用@()
表达式,您正在将输出转换为此处不需要的数组。在PowerShell中不建议声明类似于c#中的方法的函数。您可以按照以下方式进行操作。
function ExtractLocations{
Param([ref]$lp_Locations)
$lp_Locations = "A STRING VALUE"
return 0
}
ExtractLocations -lp_Locations ([ref]$Locations)
答案 1 :(得分:0)
无论我如何尝试都无法使其与参数一起使用,因此将值作为字符串返回,并且可以正常工作:
功能提取位置 { .... 返回$ lp_Locations }
$ Locations =提取位置 编写“修改$ TABLE以与位置进行重组=($($ Locations.value))\ p \ g” | sql $ SQLFLAGS $ TARGETDB