Существует ли метод сокращения ссылок пространства имен PowerShell?
Ввод [RootNameSpace1.NameSpace2.Namepsace3+SomeEnum]::SomeValue
является налоговым и не очень хороший пользователь expierence. Я понимаю, что можно сослаться System
уровень возражает без пространства имен, таким образом что [Type]::GetType(...
будет работать. Разве существует ли некоторая декларация, которую я мог создать или управлять, чтобы я мог использовать для сокращения длинных пространств имен?
Любые методы, принимающие Enums, будут принимать строки, но это только для Enums и где нет двусмысленности (что означает, что нет других перегрузок с подписями, соответствующими строкам таким образом.)
Если вы используете powershell v2.0, вы можете (ab) использовать ускорители типов. Я писал об этом раньше, и Джоэл Беннет обернул мою технику в удобный сценарий:
-Oisin
Длинные типы могут быть присвоены переменным, а затем использоваться через эти переменные:
# enum values
$rvk = [Microsoft.Win32.RegistryValueKind]
$rvk::Binary
$rvk::DWord
# static members
$con = [System.Console]
$con::CursorLeft
$con::WriteLine('Hello there')
# just to be sure, look at types
.{
$rvk::Binary
$con::WriteLine
$con::CursorLeft
} |
% { $_.GetType() }