Главная > Powershell > Использование выражения Using Namespace в Powershell

Использование выражения Using Namespace в Powershell

В Powershell при обращении к .NET классам нужно указывать их полное имя. Например:

[System.Net.Dns]::GetHostByAddress('192.168.1.1')
[System.IO.Path]::GetRandomFileName()
[System.IO.Path]::GetTempFileName()
[System.IO.Path]::GetTempPath()

Если это единичное обращение к .NET-классу можно обойтись и так. Но если в скрипте приходится часто обращаться к .NET-классам, такое обращение усложняет восприятие кода, из-за большого количества букв, скобок и точек.

Начиная с Powershell версии 5.0 появилась возможность использовать выражение using namespace пространство_имён. В таком случае после единоразового добавления пространства имён, в дальнейшем можно просто указывать имя класса. И так как такая возможность появилась только с PSv5, в скрипт не помешает вставить директиву #requires:

#requires -Version 5.0

using namespace System.Net
using namespace System.IO

[Dns]::GetHostByAddress('192.168.1.1')
[Path]::GetRandomFileName()
[Path]::GetTempFileName()
[Path]::GetTempPath()

При чём в Powershell ISE  при добавлении using namespace, в оболочке работает автодополнение:

image

в отличии от того, если пространство имён не указать заранее:

image

Реклама
Рубрики:Powershell Метки: ,
  1. Комментариев нет.
  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: