我有一个类,如下所示
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";
}
}
}
我可以使用powershell获取myValue,
[System.Reflection.Assembly]::LoadWithPartialName("Foo.Bar")
$parentValue = [Foo.Bar.ParentClass]::myValue
但是我无法在类myChildValue中获得该类。有人可以帮忙吗?
认为它可能类似于下面但$ childValue总是空的。
[System.Reflection.Assembly]::LoadWithPartialName("Foo.Bar")
$childValue = [Foo.Bar.ParentClass.ChildClass]::myChildValue
答案 0 :(得分:9)
这是[Foo.Bar.ParentClass+ChildClass]
。在PowerShell 3选项卡上,完成将告诉您。此外,您可以使用Add-Type
直接编译和加载代码:
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
无需摆弄C#编译器和[Assembly]::LoadWithPartialName
。