调用 .Net 库方法
通过将完整的类名封装在第三个括号中,然后使用::
调用方法,可以从 PowerShell 调用静态 .Net 库方法
#calling Path.GetFileName()
C:\> [System.IO.Path]::GetFileName('C:\Windows\explorer.exe')
explorer.exe
可以从类本身调用静态方法,但调用非静态方法需要 .Net 类(对象)的实例。
例如,无法从 System.DateTime 类本身调用 AddHours 方法。它需要一个类的实例:
C:\> [System.DateTime]::AddHours(15)
Method invocation failed because [System.DateTime] does not contain a method named 'AddHours'.
At line:1 char:1
+ [System.DateTime]::AddHours(15)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
在这种情况下,我们首先创建一个对象 ,例如:
C:\> $Object = [System.DateTime]::Now
然后,我们可以使用该对象的方法,甚至是无法直接从 System.DateTime 类调用的方法,如 AddHours 方法:
C:\> $Object.AddHours(15)
Monday 12 September 2016 01:51:19