Dot-Net
等效於 C# 在 powershell 中的“使用”關鍵字?
當我在 C# 的 .net-Framework 中使用另一個對象時,我可以通過使用 using 指令來節省大量輸入。
using FooCompany.Bar.Qux.Assembly.With.Ridiculous.Long.Namespace.I.Really.Mean.It; ... var blurb = new Thingamabob(); ...那麼Powershell中有沒有辦法做類似的事情呢?我正在訪問很多 .net 對象,但不滿意必須輸入
$blurb = new-object FooCompany.Bar.Qux.Assembly.With.Ridiculous.Long.Namespace.I.Really.Mean.It.Thingamabob;每時每刻。
PowerShell 5.0(包含在 WMF5 或 Windows 10 及更高版本中)將
using namespace結構添加到語言中。您可以像這樣在腳本中使用它:#Require -Version 5.0 using namespace FooCompany.Bar.Qux.Assembly.With.Ridiculous.Long.Namespace.I.Really.Mean.It $blurb = [Thingamabob]::new()(
#Require第一行的語句不是必須使用using namespace,但它會阻止腳本在 PS 4.0 及以下using namespace的語法錯誤處執行。)
在命名空間級別真的沒有這樣的東西。我經常將常用類型分配給變數,然後實例化它們:
$thingtype = [FooCompany.Bar.Qux.Assembly.With.Ridiculous.Long.Namespace.I.Really.Mean.It.Thingamabob]; $blurb = New-Object $thingtype.FullName如果該類型不會重複使用,可能不值得,但我相信這是你能做的最好的。