Используя Joey ответ, вы можете использовать эту функцию, чтобы установить "псевдонимы" для сборок. Он в основном назначает сборку функции с именем заданного псевдонима, который вы хотите.
function Global:Add_Assembly_Alias($STR_assembly, $alias) {
[string]$assembly = "$STR_assembly.{0}"
$ExecutionContext.InvokeCommand.InvokeScript(
$ExecutionContext.InvokeCommand.NewScriptBlock("
function Global:$alias(`$namespace) {
[string](`"$assembly`" -f `$namespace)
}
")
)
}
например. если вы хотите назначить System.Windows.Forms для wforms, вы бы вызвали основную функцию как
Add_Assembly_Alias System.Windows.Forms wforms
Она генерирует вам функцию под названием «wforms» с пространством имен в качестве аргумента, который вы можете использовать для добавления новых объектов и т. Д. Если вы хотите добавить, например, объект текстового поля, вам просто нужно вызвать
$tb = new-object (wforms TextBox)
Это немного, но я думаю, что это настолько близко, насколько вы можете назначить сборку чему-то похожему на псевдоним. К сожалению, мне не удалось реализовать это для прямых звонков вида
[Windows.Forms.MessageBox]::Show("Hello World!")
но я надеюсь, что это все еще помогает.
Ура,
D