在powershell中动态调用静态方法

在powershell中动态调用静态方法,powershell,static,metaprogramming,Powershell,Static,Metaprogramming,我想从一个基于对象类的对象调用一个静态方法。例如,假设您有以下带有静态方法的类结构 Class Super { static [string] getX() { return "X" } } Class Sub1 : Super { static [string] getX() { return "Sub1X" } } Class Sub2 : Super { static [string] getX() {

我想从一个基于对象类的对象调用一个静态方法。例如,假设您有以下带有静态方法的类结构


Class Super {
    static [string] getX() {
        return "X"
    }
}

Class Sub1 : Super {
    static [string] getX() {
        return "Sub1X"
    }

}
Class Sub2 : Super {
    static [string] getX() {
        return "Sub2X"
    }

}


$someSubclass = [Sub1]::new()

#I would like to invoke getX() from this instances classes static method.
$result = $someSubclass.GetType().getX()  #This (of course) does not work.
在上面的这个片段中,我希望$result包含字符串“Sub1X”。
欢迎提供任何提示。

与任何其他静态成员相同-使用

@哈奇,一旦你知道后见之明是20/20,一切都会变得容易
$someSubClass = [Sub1]::new()
$result = $someSubClass::getX()