Add-Type
Dodaje klasę Microsoft .NET do sesji programu PowerShell.
Składnia
Add-Type
[-CodeDomProvider <CodeDomProvider>]
[-CompilerParameters <CompilerParameters>]
[-TypeDefinition] <String>
[-Language <Language>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Add-Type
[-CodeDomProvider <CodeDomProvider>]
[-CompilerParameters <CompilerParameters>]
[-Name] <String>
[-MemberDefinition] <String[]>
[-Namespace <String>]
[-UsingNamespace <String[]>]
[-Language <Language>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Add-Type
[-CompilerParameters <CompilerParameters>]
[-Path] <String[]>
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Add-Type
[-CompilerParameters <CompilerParameters>]
-LiteralPath <String[]>
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Add-Type
-AssemblyName <String[]>
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Opis
Polecenie Add-Type
cmdlet umożliwia zdefiniowanie klasy programu Microsoft .NET Framework w sesji programu PowerShell.
Następnie można utworzyć wystąpienie obiektów przy użyciu New-Object
polecenia cmdlet i użyć obiektów tak samo, jak w przypadku dowolnego obiektu programu .NET Framework. Jeśli dodasz Add-Type
polecenie do profilu programu PowerShell, klasa będzie dostępna we wszystkich sesjach programu PowerShell.
Typ można określić, określając istniejący zestaw lub pliki kodu źródłowego, lub możesz określić kod źródłowy w tekście lub zapisany w zmiennej. Można nawet określić tylko metodę i Add-Type
zdefiniować i wygenerować klasę. W systemie Windows możesz użyć tej funkcji, aby wywołać wywołania Wywołania platformy (P/Invoke) do funkcji niezarządzanych w programie PowerShell. Jeśli określisz kod źródłowy, Add-Type
skompiluje określony kod źródłowy i wygeneruje zestaw w pamięci zawierający nowe typy programu .NET Framework.
Możesz użyć parametrów Add-Type
, aby określić język alternatywny i kompilator, C# jest domyślnym, opcjami kompilatora, zależnościami zestawów, przestrzenią nazw klas, nazwami typu i wynikowym zestawem.
Przykłady
Przykład 1: Dodawanie typu platformy .NET do sesji
W tym przykładzie dodano klasę BasicTest do sesji, określając kod źródłowy przechowywany w zmiennej. Klasa BasicTest służy do dodawania liczb całkowitych, tworzenia obiektu i mnożenia liczb całkowitych.
$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)
Zmienna $Source
przechowuje kod źródłowy dla klasy . Typ ma metodę statyczną o nazwie Add
i metodę niestacyjną o nazwie Multiply
.
Polecenie Add-Type
cmdlet dodaje klasę do sesji. Ponieważ używa wbudowanego kodu źródłowego, polecenie używa parametru TypeDefinition do określenia kodu w zmiennej $Source
.
Metoda statyczna Add
klasy BasicTest używa znaków dwukropka (::
) do określenia statycznej składowej klasy. Liczby całkowite są dodawane, a suma jest wyświetlana.
Polecenie New-Object
cmdlet tworzy wystąpienie klasy BasicTest . Zapisuje nowy obiekt w zmiennej $BasicTestObject
.
$BasicTestObject
Multiply
używa metody . Liczby całkowite są mnożone i wyświetlany jest produkt.
Przykład 2. Badanie dodanego typu
W tym przykładzie Get-Member
użyto polecenia cmdlet do zbadania obiektów utworzonych Add-Type
w przykładzie 1 przez polecenia cmdlet i .New-Object
[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()
Polecenie Get-Member
cmdlet pobiera typ i składowe klasy BasicTest dodanej Add-Type
do sesji. Polecenie Get-Member
ujawnia, że jest to obiekt System.RuntimeType , który pochodzi z klasy System.Object .
Parametr Get-Member
Static pobiera właściwości statyczne i metody klasy BasicTest . Dane wyjściowe pokazują, że Add
metoda jest uwzględniona.
Polecenie Get-Member
cmdlet pobiera elementy członkowskie obiektu przechowywanego w zmiennej $BasicTestObject
.
$BasicTestObject
został utworzony przy użyciu New-Object
polecenia cmdlet z klasą BasicTest . Dane wyjściowe pokazują, że wartość $BasicTestObject
zmiennej jest wystąpieniem klasy BasicTest i że zawiera składową o nazwie Multiply
.
Przykład 3. Dodawanie typów z zestawu
Ten przykład dodaje klasy z Accessibility.dll
zestawu do bieżącej sesji.
$AccType = Add-Type -AssemblyName "accessib*" -PassThru
Zmienna $AccType
przechowuje obiekt utworzony za Add-Type
pomocą polecenia cmdlet . Add-Type
używa parametru AssemblyName , aby określić nazwę zestawu. Symbol wieloznaczny gwiazdki (*
) umożliwia uzyskanie poprawnego zestawu nawet wtedy, gdy nie masz pewności co do nazwy ani jego pisowni. Parametr PassThru generuje obiekty reprezentujące klasy dodawane do sesji.
Przykład 4. Wywoływanie natywnych interfejsów API systemu Windows
W tym przykładzie pokazano, jak wywoływać natywne interfejsy API systemu Windows w programie PowerShell. Add-Type
używa mechanizmu Wywołanie platformy (P/Invoke) w celu wywołania funkcji w User32.dll
programie PowerShell. Ten przykład działa tylko na komputerach z systemem operacyjnym 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)
Zmienna $Signature
przechowuje sygnaturę ShowWindowAsync
języka C# funkcji. Aby upewnić się, że wynikowa metoda jest widoczna w sesji programu PowerShell, public
słowo kluczowe zostało dodane do podpisu standardowego. Aby uzyskać więcej informacji, zobacz ShowWindowAsync , funkcja.
Zmienna $ShowWindowAsync
przechowuje obiekt utworzony przez Add-Type
parametr PassThru .
Polecenie Add-Type
cmdlet dodaje ShowWindowAsync
funkcję do sesji programu PowerShell jako metodę statyczną. Polecenie używa parametru MemberDefinition do określenia definicji metody zapisanej w zmiennej $Signature
. Polecenie używa parametrów Nazwa i Przestrzeń nazw , aby określić nazwę i przestrzeń nazw dla klasy. Parametr PassThru generuje obiekt reprezentujący typy.
Nowa ShowWindowAsync
metoda statyczna jest używana w poleceniach, aby zminimalizować i przywrócić konsolę programu PowerShell. Metoda przyjmuje dwa parametry: uchwyt okna i liczbę całkowitą określającą sposób wyświetlania okna.
Aby zminimalizować konsolę programu PowerShell, użyj Get-Process
polecenia cmdlet z zmienną automatyczną$PID
, ShowWindowAsync
aby uzyskać proces hostujący bieżącą sesję programu PowerShell. Następnie używa właściwości MainWindowHandle bieżącego procesu i wartości 2
, która reprezentuje SW_MINIMIZE
wartość .
Aby przywrócić okno, ShowWindowAsync
użyj wartości 4
dla pozycji okna, która reprezentuje SW_RESTORE
wartość.
Aby zmaksymalizować okno, użyj wartości 3
, która reprezentuje SW_MAXIMIZE
.
Przykład 5. Dodawanie typu z pliku Visual Basic
W tym przykładzie Add-Type
użyto polecenia cmdlet , aby dodać klasę VBFromFile zdefiniowaną w Hello.vb
pliku do bieżącej sesji. Tekst Hello.vb
pliku jest wyświetlany w danych wyjściowych polecenia.
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
Używa parametru Path , aby określić plik źródłowy, Hello.vb
i dodaje typ zdefiniowany w pliku. Funkcja SayHello
jest wywoływana jako metoda statyczna klasy VBFromFile .
Przykład 6. Dodawanie klasy z JScript.NET
W tym przykładzie użyto JScript.NET do utworzenia nowej klasy FRectangle w sesji programu 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
Przykład 7. Dodawanie kompilatora języka F#
W tym przykładzie Add-Type
pokazano, jak za pomocą polecenia cmdlet dodać kompilator kodu F# do sesji programu PowerShell. Aby uruchomić ten przykład w programie PowerShell, musisz mieć FSharp.Compiler.CodeDom.dll
zainstalowany program z językiem 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
Add-Type
Używa parametru Path , aby określić zestaw i pobiera typy w zestawie.
New-Object
Tworzy wystąpienie dostawcy kodu języka F# i zapisuje wynik w zmiennej $Provider
. Zmienna $FSharpCode
zapisuje kod języka F#, który definiuje metodę Loop .
Zmienna $FSharpType
przechowuje wyniki Add-Type
polecenia cmdlet, które zapisuje typy publiczne zdefiniowane w pliku $FSharpCode
. Parametr TypeDefinition określa kod źródłowy, który definiuje typy. Parametr CodeDomProvider określa kompilator kodu źródłowego. Parametr PassThru kieruje Add-Type
do zwracania obiektu środowiska uruchomieniowego, który reprezentuje typy.
Obiekty są wysyłane w dół potoku Where-Object
do polecenia cmdlet, które zwraca tylko typy publiczne. Polecenie Where-Object
cmdlet jest używane, ponieważ dostawca języka F# generuje typy inne niż publiczne w celu obsługi wynikowego typu publicznego.
Metoda Loop jest wywoływana jako statyczna metoda typu przechowywanego w zmiennej $FSharpType
.
Parametry
-AssemblyName
Określa nazwę zestawu, który zawiera typy. Add-Type
pobiera typy z określonego zestawu. Ten parametr jest wymagany podczas tworzenia typów na podstawie nazwy zestawu.
Wprowadź pełną lub prostą nazwę, znaną również jako nazwa częściowa zestawu. Symbole wieloznaczne są dozwolone w nazwie zestawu. Jeśli wprowadzisz prostą lub częściową nazwę, Add-Type
rozpozna ją jako pełną nazwę, a następnie użyjesz pełnej nazwy do załadowania zestawu.
Użycie parametrów Path lub LiteralPath gwarantuje, że ładujesz zestaw, który ma być ładowany. W przypadku korzystania z parametru AssemblyName program PowerShell prosi platformę .NET o rozpoznawanie nazwy zestawu przy użyciu standardowego procesu rozpoznawania zestawów platformy .NET. Ponieważ platforma .NET najpierw wyszukuje folder aplikacji, Add-Type
może załadować zestaw $PSHOME
zamiast wersji w bieżącym folderze. Aby uzyskać więcej informacji, zobacz Lokalizacja zestawu.
Jeśli program .NET nie rozpozna nazwy, program PowerShell wyszuka w bieżącej lokalizacji, aby znaleźć zestaw. W przypadku używania symboli wieloznacznych w parametrze AssemblyName proces rozwiązywania zestawów platformy .NET kończy się niepowodzeniem, co powoduje, że program PowerShell będzie szukać w bieżącej lokalizacji.
Typ: | String[] |
Aliasy: | AN |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-CodeDomProvider
Określa generator kodu lub kompilator. Add-Type
używa określonego kompilatora do skompilowania kodu źródłowego. Wartość domyślna to kompilator języka C#. Użyj tego parametru, jeśli używasz języka, którego nie można określić przy użyciu parametru Language . Określony element CodeDomProvider musi mieć możliwość generowania zestawów na podstawie kodu źródłowego.
Typ: | CodeDomProvider |
Aliasy: | Provider |
Position: | Named |
Domyślna wartość: | C# compiler |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-CompilerParameters
Określa opcje kompilatora kodu źródłowego. Te opcje są wysyłane do kompilatora bez poprawki.
Ten parametr umożliwia kierowanie kompilatora do generowania pliku wykonywalnego, osadzania zasobów lub ustawiania opcji wiersza polecenia, takich jak /unsafe
opcja. Ten parametr implementuje klasę CompilerParameters System.CodeDom.Compiler.CompilerParameters.
Nie można użyć parametrów CompilerParameters i ReferencedAssemblies w tym samym poleceniu.
Typ: | CompilerParameters |
Aliasy: | CP |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-IgnoreWarnings
Ignoruje ostrzeżenia kompilatora. Użyj tego parametru, aby zapobiec Add-Type
obsłudze ostrzeżeń kompilatora jako błędów.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Language
Określa język używany w kodzie źródłowym. Polecenie Add-Type
cmdlet używa wartości tego parametru, aby wybrać odpowiedni element CodeDomProvider. CSharp jest wartością domyślną. Dopuszczalne wartości tego parametru są następujące:
CSharp
CSharpVersion2
CSharpVersion3
JScript
VisualBasic
Typ: | Language |
Dopuszczalne wartości: | CSharp, CSharpVersion2, CSharpVersion3, JScript, VisualBasic |
Position: | Named |
Domyślna wartość: | CSharp |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-LiteralPath
Określa ścieżkę do plików kodu źródłowego lub plików DLL zestawu, które zawierają typy. W przeciwieństwie do ścieżki, wartość parametru LiteralPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze znaki cudzysłowu informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Użycie parametrów Path lub LiteralPath gwarantuje, że ładujesz zestaw, który ma być ładowany.
Typ: | String[] |
Aliasy: | PSPath |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-MemberDefinition
Określa nowe właściwości lub metody dla klasy. Add-Type
generuje kod szablonu wymagany do obsługi właściwości lub metod.
W systemie Windows możesz użyć tej funkcji, aby wywołać wywołania Wywołania platformy (P/Invoke) do funkcji niezarządzanych w programie PowerShell.
Typ: | String[] |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwę klasy do utworzenia. Ten parametr jest wymagany podczas generowania typu z definicji elementu członkowskiego.
Nazwa typu i przestrzeń nazw muszą być unikatowe w ramach sesji. Nie można zwolnić typu ani go zmienić. Aby zmienić kod typu, musisz zmienić nazwę lub uruchomić nową sesję programu PowerShell. W przeciwnym razie polecenie kończy się niepowodzeniem.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Namespace
Określa przestrzeń nazw dla typu.
Jeśli ten parametr nie jest uwzględniony w poleceniu, typ jest tworzony w przestrzeni nazw Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes . Jeśli parametr jest uwzględniony w poleceniu z pustą wartością ciągu lub wartością $Null
, typ jest generowany w globalnej przestrzeni nazw.
Typ: | String |
Aliasy: | NS |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-OutputAssembly
Generuje plik DLL dla zestawu o określonej nazwie w lokalizacji. Wprowadź opcjonalną ścieżkę i nazwę pliku. Dozwolone są symbole wieloznaczne. Domyślnie Add-Type
generuje zestaw tylko w pamięci.
Typ: | String |
Aliasy: | OA |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-OutputType
Określa typ danych wyjściowych zestawu wyjściowego. Domyślnie nie określono żadnego typu danych wyjściowych. Ten parametr jest prawidłowy tylko wtedy, gdy w poleceniu określono zestaw wyjściowy. Aby uzyskać więcej informacji na temat wartości, zobacz OutputAssemblyType, wyliczenie.
Dopuszczalne wartości tego parametru są następujące:
ConsoleApplication
Library
WindowsApplication
Typ: | OutputAssemblyType |
Aliasy: | OT |
Dopuszczalne wartości: | ConsoleApplication, Library, WindowsApplication |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-PassThru
Zwraca obiekt System.Runtime reprezentujący dodane typy. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Path
Określa ścieżkę do plików kodu źródłowego lub plików DLL zestawu, które zawierają typy.
Jeśli przesyłasz pliki kodu źródłowego, Add-Type
kompiluje kod w plikach i tworzy zestaw w pamięci typów. Rozszerzenie pliku określone w wartości Path określa kompilator, który Add-Type
używa.
Jeśli przesyłasz plik zestawu, Add-Type
pobiera typy z zestawu. Aby określić zestaw w pamięci lub globalną pamięć podręczną zestawów, użyj parametru AssemblyName .
Typ: | String[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ReferencedAssemblies
Określa zestawy, od których zależy typ. Domyślnie Add-Type
odwołania System.dll
i System.Management.Automation.dll
. Zestawy, które określisz przy użyciu tego parametru, są przywołyne oprócz zestawów domyślnych.
Nie można użyć parametrów CompilerParameters i ReferencedAssemblies w tym samym poleceniu.
Typ: | String[] |
Aliasy: | RA |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-TypeDefinition
Określa kod źródłowy zawierający definicje typów. Wprowadź kod źródłowy w ciągu lub tutaj-ciągu lub wprowadź zmienną zawierającą kod źródłowy. Aby uzyskać więcej informacji na temat ciągów tutaj, zobacz about_Quoting_Rules.
Dołącz deklarację przestrzeni nazw do definicji typu. Jeśli pominięto deklarację przestrzeni nazw, typ może mieć taką samą nazwę jak inny typ lub skrót dla innego typu, powodując niezamierzone zastąpienie. Jeśli na przykład zdefiniujesz typ o nazwie Wyjątek, skrypty używające wyjątku jako skrótu dla elementu System.Exception zakończy się niepowodzeniem.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-UsingNamespace
Określa inne przestrzenie nazw, które są wymagane dla klasy. Jest to podobne do słowa kluczowego C#, Using
.
Domyślnie Add-Type
odwołuje się do przestrzeni nazw systemowej . Gdy jest używany parametr MemberDefinition, Add-Type
domyślnie odwołuje się również do przestrzeni nazw System.Runtime.InteropServices. Przestrzenie nazw dodawane przy użyciu parametru UsingNamespace są przywoływane oprócz domyślnych przestrzeni nazw.
Typ: | String[] |
Aliasy: | Using |
Position: | Named |
Domyślna wartość: | System namespace |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca obiekt System.Type reprezentujący nowy typ.
Uwagi
Dodane typy istnieją tylko w bieżącej sesji. Aby użyć typów we wszystkich sesjach, dodaj je do profilu programu PowerShell. Aby uzyskać więcej informacji na temat profilu, zobacz about_Profiles.
Nazwy typów i przestrzenie nazw muszą być unikatowe w ramach sesji. Nie można zwolnić typu ani go zmienić. Jeśli musisz zmienić kod typu, musisz zmienić nazwę lub uruchomić nową sesję programu PowerShell. W przeciwnym razie polecenie kończy się niepowodzeniem.
Klasa CodeDomProvider dla niektórych języków, takich jak IronPython i J#, nie generuje danych wyjściowych. W związku z tym typy napisane w tych językach nie mogą być używane z Add-Type
.
To polecenie cmdlet jest oparte na klasie CodeDomProvider programu Microsoft .NET Framework.