我寫了函數'A',它將調用其他函數之一。爲了保存重寫函數'A',我想傳遞函數作爲函數'A'的參數。例如:PowerShell:傳遞函數作爲參數
function A{
Param($functionToCall)
Write-Host "I'm calling : $functionToCall"
}
function B{
Write-Host "Function B"
}
Function C{
write-host "Function C"
}
A -functionToCall C
返回:我打電話:C
我期待它返回:我打電話:功能C.
我已經嘗試了各種東西,如:
Param([scriptblock]$functionToCall)
無法轉換System.String要腳本塊
A -functionToCall $function:C
返回「寫主機‘功能C’
A - functionToCall (&C)
這個評估它的其餘部分之前:
Function C
I'm Calling :
我敢肯定,這是程序101,但我不能工作了正確的語法或者我做錯了什麼。任何幫助將受到感謝。非常感謝。
不,這只是將字符串「c」傳遞給函數,它不會傳遞函數對象C作爲參數。 – Duncan
問題不清楚。看到更新的答案。使用scriptblock-property你也可以調用傳遞函數 –
Spot on。非常感謝你@Frode F.非常感謝。如此簡單,當你知道如何。 – woter324