从顶层功能飞溅到一系列内部功能

如果没有 splatting,尝试通过调用堆栈向下传递值非常麻烦。但是如果你将 splatting@PSBoundParameters 的强大功能结合起来,那么你可以将顶级参数集合传递到层中。

Function Outer-Method
{
    Param
    (
        [string]
        $First,
        
        [string]
        $Second
    )
    
    Write-Host ($First) -NoNewline
    
    Inner-Method @PSBoundParameters
}

Function Inner-Method
{
    Param
    (
        [string]
        $Second
    )
    
    Write-Host (" {0}!" -f $Second)
}

$parameters = @{
    First = "Hello"
    Second = "World"
}

Outer-Method @parameters