在PowerShell中,您可以管理Cmdlet和腳本功能。但是,是否可以管入對象,屬性或成員函數?在PowerShell中管理對象/屬性/方法
舉例來說,如果我有一個數據庫連接對象$dbCon
,我希望能夠如此是這樣的:
$dbCon.GetSomeRecords() | <code-to-manipulate-those-records | $dbCon.WriteBackRecords()
我知道同樣的功能可以用Foreach-Object
或與獲得小命令來實現該對象作爲參數 - 我想直接傳遞給對象或其成員的原因是實現優雅並保持OOP樣式(使用對象的方法而不是將對象作爲參數發送)
是嗎?可能?
編輯:
它看起來像人不理解我的問題,所以我需要澄清:
的PowerShell可以管到正常功能。我可以這樣寫:
function ScriptedFunction
{
$input|foreach{"Got "+$_}
}
1,2,3|ScriptedFunction
並獲得
Got 1
Got 2
Got 3
作爲結果。但是,當我嘗試使用該技術與腳本方法:
$object=New-Object System.Object
$object|Add-Member -MemberType ScriptMethod -Name ScriptedMethod -Value {$input|foreach{"Got "+$_}}
1,2,3|$object.ScriptedMethod
我得到一個錯誤信息:Expressions are only allowed as the first element of a pipeline.
(添加()不BTW幫助)。我正在尋找的是一種使命令以與全局功能相同的方式工作的方式。
我更新了線程,看看它現在是否有幫助。 –