I have a class as like the following
namespace Foo.Bar
{
public static class ParentClass
{
public const string myValue = "Can get this value";
public static class ChildClass
{
public const string myChildValue = "I want to get this value";
}
}
}
I can get the myValue using powershell,
[System.Reflection.Assembly]::LoadWithPartialName("Foo.Bar")
$parentValue = [Foo.Bar.ParentClass]::myValue
But I'm unable to get the class within the class myChildValue. Can anyone help?
Thought it might be something like below but $childValue is always empty.
[System.Reflection.Assembly]::LoadWithPartialName("Foo.Bar")
$childValue = [Foo.Bar.ParentClass.ChildClass]::myChildValue
It's [Foo.Bar.ParentClass+ChildClass]
. On PowerShell 3 tab completion will tell you as much. Furthermore, you can use Add-Type
to compile and load the code directly:
C:\Users\Joey> add-type 'namespace Foo.Bar
>> {
>> public static class ParentClass
>> {
>> public const string myValue = "Can get this value";
>>
>> public static class ChildClass
>> {
>> public const string myChildValue = "I want to get this value";
>> }
>> }
>> }'
>>
C:\Users\Joey> [Foo.Bar.ParentClass+ChildClass]::myChildValue
I want to get this value
No need to fiddle around with the C# compiler and [Assembly]::LoadWithPartialName
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With