假设我有一个函数,其中注入了依赖项和一些参数,如下所示:
function Invoke-ACommandLaterOn
{
param
(
# ...
[string] $CommandName,
[object] $PipelineParams,
[object[]] $PositionalParams,
[hashtable]$NamedParams
# ...
)
Assert-ParameterBinding @PSBoundParameters
# ...
# Some complicated long-running call tree that eventually invokes
# something like
# $PipelineParams | & $CommandName @PositionalParams @NamedParams
# ...
}
我想立即断言参数绑定$CommandName
成功。这就是Assert-ParameterBinding
要做的事情。但是,我不确定如何实施Assert-ParameterBinding
。
当然,我可以尝试$CommandName
立即调用,但在这种情况下,这样做会产生副作用,直到首先完成一堆其他长时间运行的事情才会发生。
如何在不调用函数的情况下断言与函数的参数绑定将成功?