简短说明
允许指示会话中使用了哪些命名空间。
详细说明
该 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.Text
using 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)