Add-Type
Добавляет класс Microsoft .NET в сеанс PowerShell.
Синтаксис
FromSource (По умолчанию)
Add-Type
[-TypeDefinition] <String>
[-CodeDomProvider <CodeDomProvider>]
[-CompilerParameters <CompilerParameters>]
[-Language <Language>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
FromMember
Add-Type
[-Name] <String>
[-MemberDefinition] <String[]>
[-CodeDomProvider <CodeDomProvider>]
[-CompilerParameters <CompilerParameters>]
[-Namespace <String>]
[-UsingNamespace <String[]>]
[-Language <Language>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
FromPath
Add-Type
[-Path] <String[]>
[-CompilerParameters <CompilerParameters>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
FromLiteralPath
Add-Type
-LiteralPath <String[]>
[-CompilerParameters <CompilerParameters>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
FromAssemblyName
Add-Type
-AssemblyName <String[]>
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Описание
Командлет Add-Type позволяет определить класс Microsoft .NET Framework в сеансе PowerShell.
Затем можно создать экземпляры объектов с помощью командлета New-Object и использовать объекты так же, как и любой объект .NET Framework. При добавлении команды Add-Type в профиль PowerShell класс доступен во всех сеансах PowerShell.
Тип можно указать, указав существующие сборки или файлы исходного кода, или указать встроенный или сохраненный в переменной исходный код. Можно даже указать только метод и Add-Type определяет и создает класс. В Windows эту функцию можно использовать для вызова платформенного вызова (P/Invoke) неуправляемых функций в PowerShell. Если указать исходный код, Add-Type компилирует указанный исходный код и создает сборку в памяти, содержащую новые типы .NET Framework.
Параметры Add-Type можно использовать для указания альтернативного языка и компилятора, C# — это параметры компилятора, зависимости сборок, пространство имен класса, имена типа и результирующая сборка.
Примеры
Пример 1. Добавление типа .NET в сеанс
В этом примере в сеанс добавляется класс basicTest, указав исходный код, хранящийся в переменной. Класс BasicTest используется для добавления целых чисел, создания объекта и умножения целых чисел.
$Source = @"
public class BasicTest
{
public static int Add(int a, int b)
{
return (a + b);
}
public int Multiply(int a, int b)
{
return (a * b);
}
}
"@
Add-Type -TypeDefinition $Source
[BasicTest]::Add(4, 3)
$BasicTestObject = New-Object BasicTest
$BasicTestObject.Multiply(5, 2)
Переменная $Source сохраняет исходный код для класса. Тип имеет статический метод с именем Add и нестатический метод, называемый Multiply.
Командлет Add-Type добавляет класс в сеанс. Так как он использует встроенный исходный код, команда использует параметр TypeDefinition для указания кода в переменной $Source.
Статический метод AddBasicTest использует символы двойной двоеточия (::) для указания статического элемента класса. Добавляются целые числа и отображается сумма.
Командлет New-Object создает экземпляр класса BasicTest. Он сохраняет новый объект в переменной $BasicTestObject.
$BasicTestObject использует метод Multiply. Целые числа умножаются и отображается продукт.
Пример 2. Проверка добавленного типа
В этом примере используется командлет Get-Member для проверки объектов, созданных Add-Type и командлетов New-Object, созданных в примере 1.
[BasicTest] | Get-Member
TypeName: System.RuntimeType
Name MemberType Definition
---- ---------- ----------
AsType Method type AsType()
Clone Method System.Object Clone(), System.Object ICloneable.Clone()
Equals Method bool Equals(System.Object obj), bool Equals(type o)
FindInterfaces Method type[] FindInterfaces(System.Reflection.TypeFilter filter...
...
[BasicTest] | Get-Member -Static
TypeName: BasicTest
Name MemberType Definition
---- ---------- ----------
Add Method static int Add(int a, int b)
Equals Method static bool Equals(System.Object objA, System.Object objB)
new Method BasicTest new()
ReferenceEquals Method static bool ReferenceEquals(System.Object objA, System.Object objB)
$BasicTestObject | Get-Member
TypeName: BasicTest
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
Multiply Method int Multiply(int a, int b)
ToString Method string ToString()
Командлет Get-Member получает тип и члены класса BasicTest, который Add-Type добавлен в сеанс. Команда Get-Member показывает, что это объект System.RuntimeType, производный от класса System.Object.
Параметр Get-Memberstatic получает статические свойства и методы класса BasicTest. В выходных данных показано, что включен метод Add.
Командлет Get-Member получает члены объекта, хранящегося в переменной $BasicTestObject.
$BasicTestObject был создан с помощью командлета New-Object с классом BasicTest. Выходные данные показывают, что значение переменной $BasicTestObject является экземпляром класса BasicTest и включает в себя элемент с именем Multiply.
Пример 3. Добавление типов из сборки
В этом примере классы из сборки Accessibility.dll добавляются в текущий сеанс.
$AccType = Add-Type -AssemblyName "accessib*" -PassThru
Переменная $AccType сохраняет объект, созданный с помощью командлета Add-Type.
Add-Type использует параметр AssemblyName для указания имени сборки. Подстановочный знак звездочки (*) позволяет получить правильную сборку, даже если вы не уверены в имени или его орфографии. Параметр PassThru создает объекты, представляющие классы, добавленные в сеанс.
Пример 4. Вызов собственных API Windows
В этом примере показано, как вызывать собственные API Windows в PowerShell.
Add-Type использует механизм вызова платформы (P/Invoke) для вызова функции в User32.dll из PowerShell. Этот пример работает только на компьютерах под управлением операционной системы Windows.
$Signature = @"
[DllImport("user32.dll")]public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
"@
$addTypeSplat = @{
MemberDefinition = $Signature
Name = "Win32ShowWindowAsync"
Namespace = 'Win32Functions'
PassThru = $true
}
$ShowWindowAsync = Add-Type @addTypeSplat
# Minimize the PowerShell console
$ShowWindowAsync::ShowWindowAsync((Get-Process -Id $PID).MainWindowHandle, 2)
# Restore the PowerShell console
$ShowWindowAsync::ShowWindowAsync((Get-Process -Id $PID).MainWindowHandle, 4)
Переменная $Signature сохраняет сигнатуру C# функции ShowWindowAsync. Чтобы убедиться, что результирующий метод отображается в сеансе PowerShell, ключевое слово public было добавлено в стандартную подпись. Дополнительные сведения см. в функции ShowWindowAsync.
Переменная $ShowWindowAsync сохраняет объект, созданный параметром Add-TypePassThru.
Командлет Add-Type добавляет функцию ShowWindowAsync в сеанс PowerShell в качестве статического метода. Команда использует параметр MemberDefinition, чтобы указать определение метода, сохраненное в переменной $Signature. Команда использует параметры имени
Новый ShowWindowAsync статический метод используется в командах для минимизации и восстановления консоли PowerShell. Метод принимает два параметра: дескриптор окна и целое число, указывающее, как отображается окно.
Чтобы свести к минимуму консоль PowerShell, ShowWindowAsync использует командлет Get-Process с автоматической переменной $PID, чтобы получить процесс, на котором размещен текущий сеанс PowerShell. Затем он использует свойство MainWindowHandle текущего процесса и значение 2, представляющее значение SW_MINIMIZE.
Чтобы восстановить окно, ShowWindowAsync использует значение 4 для положения окна, представляющего значение SW_RESTORE.
Чтобы развернуть окно, используйте значение 3, представляющее SW_MAXIMIZE.
Пример 5. Добавление типа из файла Visual Basic
В этом примере используется командлет Hello.vb отображается в выходных данных команды.
Add-Type -Path "C:\PS-Test\Hello.vb"
[VBFromFile]::SayHello(", World")
# From Hello.vb
Public Class VBFromFile
Public Shared Function SayHello(sourceName As String) As String
Dim myValue As String = "Hello"
return myValue + sourceName
End Function
End Class
Hello, World
Add-Type использует параметр path для указания исходного файла, Hello.vbи добавления типа, определенного в файле. Функция SayHello вызывается как статический метод класса VBFromFile.
Пример 6. Добавление класса с JScript.NET
В этом примере используется JScript.NET для создания нового класса FRectangleв сеансе PowerShell.
Add-Type @'
class FRectangle {
var Length : double;
var Height : double;
function Perimeter() : double {
return (Length + Height) * 2; }
function Area() : double {
return Length * Height; } }
'@ -Language JScript
$rect = [FRectangle]::new()
$rect
Length Height
------ ------
0 0
Пример 7. Добавление компилятора F#
В этом примере показано, как использовать командлет Add-Type для добавления компилятора кода F# в сеанс PowerShell. Чтобы запустить этот пример в PowerShell, необходимо установить FSharp.Compiler.CodeDom.dll с языком F#.
Add-Type -Path "FSharp.Compiler.CodeDom.dll"
$Provider = New-Object Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider
$FSharpCode = @"
let rec loop n =if n <= 0 then () else beginprint_endline (string_of_int n);loop (n-1)end
"@
$FSharpType = Add-Type -TypeDefinition $FSharpCode -CodeDomProvider $Provider -PassThru |
Where-Object { $_.IsPublic }
$FSharpType::loop(4)
4
3
2
1
New-Object создает экземпляр поставщика кода F# и сохраняет результат в переменной $Provider. Переменная $FSharpCode сохраняет код F#, определяющий метод Loop.
Переменная $FSharpType сохраняет результаты командлета Add-Type, который сохраняет общедоступные типы, определенные в $FSharpCode. Параметр TypeDefinition указывает исходный код, определяющий типы. Параметр CodeDomProvider указывает компилятор исходного кода. Параметр PassThru Where-Object, который возвращает только общедоступные типы. Командлет Where-Object используется, так как поставщик F# создает недоступные типы для поддержки результирующего общедоступного типа.
Метод Loop вызывается как статический метод типа, хранящегося в переменной $FSharpType.
Параметры
-AssemblyName
Указывает имя сборки, включающей типы.
Add-Type принимает типы из указанной сборки. Этот параметр требуется при создании типов на основе имени сборки.
Введите полное или простое имя, также известное как частичное имя сборки. Подстановочные знаки разрешены в имени сборки. Если ввести простое или частичное имя, Add-Type разрешает его в полное имя, а затем использует полное имя для загрузки сборки.
Использование параметров path или LiteralPath гарантирует загрузку сборки, которую вы хотите загрузить. При использовании параметра AssemblyName PowerShell просит .NET разрешить имя сборки с помощью стандартного процесса разрешения сборки .NET. Так как .NET сначала выполняет поиск в папке приложения, Add-Type может загрузить сборку из $PSHOME вместо версии в текущей папке. Дополнительные сведения см. в расположении сборки.
Если .NET не удается устранить имя, PowerShell будет выглядеть в текущем расположении, чтобы найти сборку. При использовании подстановочных знаков в параметре AssemblyName процесс разрешения сборки .NET завершается ошибкой, что приводит к тому, что PowerShell будет выглядеть в текущем расположении.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
| Aliases: | 4 млн |
Наборы параметров
FromAssemblyName
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-CodeDomProvider
Задает генератор кода или компилятор.
Add-Type использует указанный компилятор для компиляции исходного кода. По умолчанию используется компилятор C#. Используйте этот параметр, если вы используете язык, который не может быть указан с помощью параметра language.
CodeDomProvid er, указанный вами, должен иметь возможность создавать сборки из исходного кода.
Свойства параметров
| Тип: | CodeDomProvider |
| Default value: | C# compiler |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Поставщик |
Наборы параметров
FromSource
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromMember
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-CompilerParameters
Задает параметры компилятора исходного кода. Эти параметры отправляются компилятору без редакции.
Этот параметр позволяет направлять компилятору создавать исполняемый файл, внедрять ресурсы или задавать параметры командной строки, например параметр /unsafe. Этот параметр реализует класс компилятора
Нельзя использовать параметры компилятора
Свойства параметров
| Тип: | CompilerParameters |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | CP |
Наборы параметров
FromSource
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromMember
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromLiteralPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-IgnoreWarnings
Игнорирует предупреждения компилятора. Используйте этот параметр для предотвращения Add-Type обработки предупреждений компилятора в виде ошибок.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Language
Указывает язык, используемый в исходном коде. Командлет Add-Type использует значение этого параметра для выбора соответствующего CodeDomProvider. CSharp — это значение по умолчанию. Допустимые значения для этого параметра приведены следующим образом:
CSharpCSharpVersion2CSharpVersion3JScriptVisualBasic
Свойства параметров
| Тип: | Language |
| Default value: | CSharp |
| Допустимые значения: | CSharp, CSharpVersion2, CSharpVersion3, JScript, VisualBasic |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
FromSource
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromMember
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к файлам исходного кода или файлам DLL сборки, содержащим типы. В отличие от пути, значение параметра LiteralPath используется точно так, как напечатано. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Использование параметров path или LiteralPath гарантирует загрузку сборки, которую вы хотите загрузить.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | PSPath |
Наборы параметров
FromLiteralPath
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-MemberDefinition
Задает новые свойства или методы для класса.
Add-Type создает код шаблона, необходимый для поддержки свойств или методов.
В Windows эту функцию можно использовать для вызова платформенного вызова (P/Invoke) неуправляемых функций в PowerShell.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
FromMember
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Name
Указывает имя создаваемого класса. Этот параметр требуется при создании типа из определения члена.
Имя типа и пространство имен должны быть уникальными в сеансе. Вы не можете выгрузить тип или изменить его. Чтобы изменить код для типа, необходимо изменить имя или запустить новый сеанс PowerShell. В противном случае команда завершается ошибкой.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
FromMember
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Namespace
По умолчанию эта команда создает тип в пространстве имен Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes. При использовании этого параметра тип создается в указанном пространстве имен. Если значение пустой строки, тип создается в глобальном пространстве имен.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | НС |
Наборы параметров
FromMember
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-OutputAssembly
Создает DLL-файл для сборки с указанным именем в расположении. Введите необязательный путь и имя файла. Разрешено использование подстановочных символов. По умолчанию Add-Type создает сборку только в памяти. Если вы выводите сборку в файл, необходимо включить параметр PassThru, чтобы вернуть тип из созданной сборки.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
| Aliases: | ОА |
Наборы параметров
FromSource
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromMember
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromLiteralPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-OutputType
Указывает выходной тип выходной сборки. По умолчанию выходной тип не указан. Этот параметр действителен только в том случае, если в команде указана выходная сборка. Дополнительные сведения о значениях см. в разделе OutputAssemblyType Enumeration.
Допустимые значения для этого параметра приведены следующим образом:
ConsoleApplicationLibraryWindowsApplication
Свойства параметров
| Тип: | OutputAssemblyType |
| Default value: | None |
| Допустимые значения: | ConsoleApplication, Library, WindowsApplication |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | OT |
Наборы параметров
FromSource
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromMember
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromLiteralPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-PassThru
Возвращает объект System.Runtime, представляющий добавленные типы. По умолчанию этот командлет не создает выходные данные. Используйте этот параметр, если вы использовали OutputAssembly для создания DLL-файла и хотите вернуть тип из созданной сборки.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Path
Указывает путь к файлам исходного кода или файлам DLL сборки, содержащим типы.
При отправке файлов исходного кода Add-Type компилирует код в файлах и создает сборку типов в памяти. Расширение файла, указанное в значении пути, определяет компилятор, который Add-Type использует.
При отправке файла сборки Add-Type принимает типы из сборки. Чтобы указать сборку в памяти или глобальный кэш сборок, используйте параметр AssemblyName.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
FromPath
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-ReferencedAssemblies
Указывает сборки, от которых зависит тип. По умолчанию Add-Type ссылки System.dll и System.Management.Automation.dll. На сборки, указанные с помощью этого параметра, ссылаются в дополнение к сборкам по умолчанию.
Нельзя использовать параметры компилятора
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Анализ розничной торговли |
Наборы параметров
FromSource
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromMember
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
FromLiteralPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-TypeDefinition
Указывает исходный код, содержащий определения типов. Введите исходный код в строке или строке или введите переменную, содержащую исходный код. Дополнительные сведения о here-strings см. в about_Quoting_Rules.
Добавьте объявление пространства имен в определение типа. Если опущено объявление пространства имен, тип может иметь то же имя, что и другой тип или ярлык другого типа, что приводит к непреднамеренной перезаписи. Например, если вы определяете тип
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
FromSource
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-UsingNamespace
Указывает другие пространства имен, необходимые для класса. Это так же, как ключевое слово C#, Using.
По умолчанию Add-Type ссылается на пространство имен System. Если используется параметр MemberDefinition, Add-Type также ссылается на пространство имен System.Runtime.InteropServices. Добавляемые пространства имен с помощью параметра using using UsingNamespace ссылаются в дополнение к пространствам имен по умолчанию.
Свойства параметров
| Тип: | String[] |
| Default value: | System namespace |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Использование |
Наборы параметров
FromMember
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
Type
При использовании параметра PassThru этот командлет возвращает объект System.Type, представляющий новый тип.
Примечания
Добавляемые типы существуют только в текущем сеансе. Чтобы использовать типы во всех сеансах, добавьте их в профиль PowerShell. Дополнительные сведения о профиле см. в about_Profiles.
Имена типов и пространства имен должны быть уникальными в сеансе. Вы не можете выгрузить тип или изменить его. Если вам нужно изменить код для типа, необходимо изменить имя или запустить новый сеанс PowerShell. В противном случае команда завершается ошибкой.
Класс CodeDomProvider для некоторых языков, таких как IronPython и J#, не создает выходные данные. В результате типы, написанные на этих языках, нельзя использовать с Add-Type.
Этот командлет основан на классе Microsoft .NET Framework CodeDomProvider.