有没有办法从PS 2.0中的脚本块外部提取脚本块的参数列表?
说我们有
$scriptb = { PARAM($test) }
在Powershell 3.0中,我们可以做到这一点
$scriptb.Ast.ParamBlock.Parameters.Count == 1 #true
然而,Ast属性包含在powershel 3.0中,因此上述内容在PS 2.0 https://msdn.microsoft.com/en-us/library/System.Management.Automation.ScriptBlock_properties%28v=vs.85%29.aspx中不起作用
你知道在PS 2.0中这样做的方法吗?
最佳答案 也许这不是一个漂亮的解决方案,但它完成了工作:
# some script block
$sb = {
param($x, $y)
}
# make a function with the scriptblock
$function:GetParameters = $sb
# get parameters of the function
(Get-Command GetParameters -Type Function).Parameters
输出:
Key Value
--- -----
x System.Management.Automation.ParameterMetadata
y System.Management.Automation.ParameterMetadata