PowerShellのV3 +使用して削除し、 "自分の" オブジェクト:私は対話的に使用するためのさまざまなコマンドレット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 # :-(
お勧めはありますか?私は、ユーザーのrunspaceにもう使用できない変数があるのを防ぎたい。
を、変数がスコープ外になったときに適切に割り当て解除多かれ少なかれオブジェクトではありません? –
問題は、セッションが終了するまでスコープから外れることのないコマンドレットで対話的に作業している場合です。 – Joel
対話的に、私はこれを行うことができないと信じていませんし、私はそれが動作する必要がある状況を考えることができるかどうか分からない、単にエラーを投げるのではなく、より有効な値。 –