Powershell 从字符串中生成 System.Type

Powershell generate System.Type out of String

我正在像这样动态生成某种类型的 .net 对象 $MyType=([System.Type]::GetType("System.String") 这适用于标准 .net 对象。

我现在创建了一个像这样的自定义 class

class InstanceName
{
    [String] hidden $Val
    InstanceName([String]$CVal)
    {
        $this.Val=$CVal
    }
}

此处,由于powershell 找不到类型,此方法不起作用。 $MyType=([System.Type]::GetType("InstanceName")

知道如何获得自定义 PS class 的 System.Type 吗?

谢谢!

使用-as类型转换运算符:

$instanceNameType = 'InstanceName' -as [type]

# test the type reference
$instanceNameType::new("")