使用Powershell访问静态类中的Static类

时间:2013-09-24 08:11:13

标签: class powershell static

我有一个类,如下所示

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

1 个答案:

答案 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