2017-02-21 27 views
1

最近我一直在玩PowerShell,我最近发现System.命名空间似乎不是强制性的。例如:系统命名空间是否隐含在PowerShell中?

[System.Math]::PI 
[Math]::PI 

或者:

New-Object Windows.Forms.Form 
New-Object System.Windows.Forms.Form 

是等价的。但是,加载程序集时的故事,不同的是:

Add-Type -AssemblyName Windows.Forms # This fails 
Add-Type -AssemblyName System.Windows.Forms 

我猜这是一个.NET的事情,但我无法找到关于它的清晰明确的文档。

可以安全地省略System.命名空间吗? (除装配加载外,是)还有其他情况下,它是强制性的吗?

+0

谢谢!你可以用相同的链接添加答案吗? – C2H5OH

回答

2

是的,System命名空间可以省略。从documentation(重点煤矿):

要指定.NET Framework类型,在括号括起来的类型名称([]),或输入的类型为字符串,如[DATETIME]或“日期时间”为System.DateTime。如果类型不在系统名称空间的根目录下,请指定对象类型的全名。 您可以省略“系统”。例如,要指定System.Diagnostics.Process,请输入[System.Diagnostics.Process],[Diagnostics.Process]或“diagnostics.process”。

相关问题