いくつかの事実:
と呼ばれる変数にオブジェクトを割り当て、$a
そのプロパティの1つが変更されると、変数$a
が更新されます。
しかし、オブジェクトのプロパティ $object.property
の値(オブジェクト自体ではなく)を呼び出されてから変更される変数$b
に$object.property
割り当てると、$b
更新されません。つまり、現在の値はに保存されますが$object.property
、$b
そのままの状態になります。
例:
Window
オブジェクトを。という変数に割り当てます$bochsWindow
。次に、ウィンドウを移動したため、一部のプロパティが変更されます。しかし、印刷する$bochsWindow
と、最新であることがわかります。つまり、オブジェクトのプロパティのすべての新しい値もに格納され$bochsWindow
ます。
$bochsWindow
しかし、のプロパティをと呼ばれる変数に格納しようとしても$posX
、プロパティが変更されても、変更され$posX
ません。
PS .> $bochsWindow = (GetProcess bochs | Get-Window)
PS .> $bochsWindow
ProcessId : 1536
ProcessName : bochs
Position : {X=54,Y=32,Width=650,Height=576}
IsMinimized : False
IsMaximized : False
WindowHandle : 3933134
Caption : Bochs for Windows - Display
[[Moving Boch's Window By Hand]]
PS .> $bochsWindow
ProcessId : 1536
ProcessName : bochs
Position : {X=0,Y=0,Width=650,Height=576}
IsMinimized : False
IsMaximized : False
WindowHandle : 3933134
Caption : Bochs for Windows - Display
PS .> (Get-Window -ProcessName bochs)
ProcessId : 1536
ProcessName : bochs
Position : {X=0,Y=0,Width=650,Height=576}
IsMinimized : False
IsMaximized : False
WindowHandle : 3933134
Caption : Bochs for Windows - Display
PS .> $posX = $bochsWindow.Position.X
PS .> $posX
302
[[Moving Boch's Window By Hand]]
PS .> $posX
302
PS .> $bochsWindow.Position.X
472
PS .>
$posX
しかし、最新の状態を維持し、472
代わりに常に新しい値()を保存したい場合はどうすればよいですか?302
私の質問:
オブジェクトのプロパティへの参照を変数に格納したいと思います。つまり、オブジェクトのプロパティが変更されるたびに変数を更新する必要があります。これどうやってするの?ありがとう。