【发布时间】:2014-06-18 04:46:22
【问题描述】:
我正在尝试使用带有管道参数的$args 数组。
该函数需要在第一个流水线参数之后有任意数量的参数(例如 param0):
function rpt-params {
param (
[Parameter(ValueFromPipeline=$true,Position=0,Mandatory=$true)][CrystalDecisions.CrystalReports.Engine.ReportDocument]$reportDocument
)
try {
write-host "count: " $args.count
#TODO process args
}
catch [Exception] {
write-host $_.Exception
}
finally {
return $reportDocument
}
}
尝试调用该函数会产生错误,内容为“rpt-params:找不到与参数名称'param0'匹配的参数。”:
...
# syntax 0
rpt-params $rpt -param0 "mb-1" -param1 "me-1"
...
...
# syntax 1; explicitly naming the first parameter
rpt-params -reportDocument $rpt -param0 "mb-1" -param1 "me-1"
...
是我的语法问题还是与使用流水线参数有关?
【问题讨论】: