使用[Some.Object]在PowerShell中创建对象时的区别

hax*_*ode 2 syntax powershell object

以这种方式创建对象有什么区别:

$form.Size = New-Object [System.Drawing.Size] 250, 250
Run Code Online (Sandbox Code Playgroud)

这样:

$form.Size = New-Object System.Drawing.Size 250, 250
Run Code Online (Sandbox Code Playgroud)

第一个失败,但第二个失败.是否仅在从对象调用静态值时使用括号?

Tre*_*van 6

当您在.NET类型名称周围放置方括号时,您将获得对.NET类型本身的引用.New-Object期望您实例化的.NET类型的字符串表示形式,它将映射到-TypeName参数.

您可以使用方括号来引用.NET类型,例如,如果要在类上调用静态方法.

[System.Net.Dns]::GetHostEntry('www.google.com');
Run Code Online (Sandbox Code Playgroud)