Powershell的V3 +刪除 「自己」 的對象:
我正在寫一個模塊交互使用提供各種的cmdlet suiteable。我試圖達到的目的是,變量(對象)在不讓用戶使用remove-variable的情況下被破壞。PowerShell的 - 使用ScriptProperty
例子:
$object = open-object -someparam
$object # returns something
close-object -reference $object
$object # is not defined anymore - similiar to remove-variable
我不能設法得到上述工作,替代方法,如下面也失敗了。
$x = New-Object -TypeName PSCustomObject
$x | Add-Member -type NoteProperty -Name Justsomedata -Value Nomeaning
$x | Add-Member -type ScriptMethod -Name killme -Value { $this = $null }
$x
$x.killme()
$x # :-(
有什麼建議嗎?我想阻止用戶運行空間中的變量不再可用。
在正常情況下,都沒有對象更多或更少的正確取消分配時,該變量超出範圍? –
他們會,是的,問題在於,如果您正在使用cmdlet進行交互式工作,則在會話關閉之前,它們不會超出範圍。 – Joel
交互式地,我不相信這是可以做到的,我不確定我能想象到我希望它能夠工作的情況,而不是簡單地拋出一個錯誤,如果我使用了一個沒有約束的變量,更有效的價值。 –