Powershell - return custom object to C# host
I have the following powershell script which loads a custom开发者_如何学JAVA .NET DLL this contains the ScriptResult class, it is intern executed from a VB.NET app.
Add-Type -Path $myLibPath
$result = New-Object TheLibrary.ScriptResult
In the VB.NET app I want to get the result object but the following doesnt seem to work
'get the script result
Dim result As ScriptResult = run.SessionStateProxy.GetVariable("result")
What am I not doing correctly?
a) define the variable to the runtime first with
run.SessionStateProxy.SetVariable("result", null)
b) maybe could help to mark $result as global (not verified):
$global:result = New-Object TheLibrary.ScriptResult
GetVariable
returns a PSVariable
instance. The variable's value is in the .Value
property. You'll probably need to cast it (DirectCast
) to your ScriptResult
type as Value
returns an Object
.
精彩评论