关于使用

简短说明

允许指示会话中使用了哪些命名空间。

详细说明

using 语句允许您指定会话中使用的命名空间。 添加命名空间可简化 .NET 类和成员的使用,并允许您从模块导入类。

using 语句必须是脚本中的第一个语句。

语法

要引用 .NET Framework 命名空间,请执行以下作:

using namespace <.NET-framework-namespace>

引用 PowerShell 模块:

using module <module-name>

注释

Import-Module#requires 语句仅导入模块定义的模块函数、别名和变量。 不导入类。 该 using module 语句导入模块中定义的类。 如果当前会话中未加载模块,则 using 语句将失败。

例子

以下脚本获取“Hello World”字符串的加密哈希。

请注意 和 using namespace System.Textusing namespace System.IO 如何简化对 [UnicodeEncoding] in System.Text 和 in 以及 [Stream][MemoryStream] in System.IO的引用。

using namespace System.Text
using namespace System.IO

[string]$string = "Hello World"
## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5"
[string]$algorithm = "SHA256"

[byte[]]$stringbytes = [UnicodeEncoding]::Unicode.GetBytes($string)

[Stream]$memorystream = [MemoryStream]::new($stringbytes)
$hashfromstream = Get-FileHash -InputStream $memorystream `
  -Algorithm $algorithm
$hashfromstream.Hash.ToString()

以下脚本假定名为 'CardGames' 的模块已自动加载。

模块中定义了以下类:

  • 甲板
  • 卡片
using module CardGames

[Deck]$deck = [Deck]::new()
$deck.Shuffle()
[Card[]]$hand1 = $deck.Deal(5)
[Card[]]$hand2 = $deck.Deal(5)
[Card[]]$hand3 = $deck.Deal(5)