Поделиться через


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. Команда использует параметры имени и пространства имен , чтобы указать имя и пространство имен для класса. Параметр PassThru создает объект, представляющий типы.

Новый ShowWindowAsync статический метод используется в командах для минимизации и восстановления консоли PowerShell. Метод принимает два параметра: дескриптор окна и целое число, указывающее, как отображается окно.

Чтобы свести к минимуму консоль PowerShell, ShowWindowAsync использует командлет Get-Process с автоматической переменной $PID, чтобы получить процесс, на котором размещен текущий сеанс PowerShell. Затем он использует свойство MainWindowHandle текущего процесса и значение 2, представляющее значение SW_MINIMIZE.

Чтобы восстановить окно, ShowWindowAsync использует значение 4 для положения окна, представляющего значение SW_RESTORE.

Чтобы развернуть окно, используйте значение 3, представляющее SW_MAXIMIZE.

Пример 5. Добавление типа из файла Visual Basic

В этом примере используется командлет для добавления класса VBFromFile , определенного в файле в текущий сеанс. Текст файла 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. Этот параметр реализует класс компилятора компилятора, System.CodeDom.Compiler.CompilerParameters.

Нельзя использовать параметры компилятора и ReferencedAssemblies в той же команде.

Свойства параметров

Тип: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 — это значение по умолчанию. Допустимые значения для этого параметра приведены следующим образом:

  • CSharp
  • CSharpVersion2
  • CSharpVersion3
  • JScript
  • VisualBasic

Свойства параметров

Тип: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.

Допустимые значения для этого параметра приведены следующим образом:

  • ConsoleApplication
  • Library
  • WindowsApplication

Свойства параметров

Тип: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. На сборки, указанные с помощью этого параметра, ссылаются в дополнение к сборкам по умолчанию.

Нельзя использовать параметры компилятора и ReferencedAssemblies в той же команде.

Свойства параметров

Тип:

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.

Добавьте объявление пространства имен в определение типа. Если опущено объявление пространства имен, тип может иметь то же имя, что и другой тип или ярлык другого типа, что приводит к непреднамеренной перезаписи. Например, если вы определяете тип исключения, скрипты, использующие исключений в качестве ярлыка для System.Exception, завершаются ошибкой.

Свойства параметров

Тип: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.