4. Typy

V PowerShellu má každá hodnota typ a typy spadají do jedné ze dvou hlavních kategorií: typy hodnot a odkazové typy. Vezměte v úvahu inttyp , který je typický pro typy hodnot. Hodnota typu je int zcela samostatná; všechny bity potřebné k reprezentaci této hodnoty jsou uloženy v této hodnotě a každý bitový vzor v této hodnotě představuje platnou hodnotu pro jeho typ. Nyní zvažte typ pole int[], který je typický pro odkazové typy. Takzvaná hodnota typu pole může obsahovat buď odkaz na objekt, který ve skutečnosti obsahuje prvky pole, nebo nulový odkaz, jehož hodnota je $null. Důležité rozlišení mezi těmito dvěma kategoriemi typů je nejlépe demonstrované rozdíly v jejich sémantice během přiřazení. Třeba

$i = 100 # $i designates an int value 100
$j = $i # $j designates an int value 100, which is a copy

$a = 10,20,30 # $a designates an object[], Length 3, value 10,20,30
$b = $a # $b designates exactly the same array as does $a, not a copy
$a[1] = 50 # element 1 (which has a value type) is changed from 20 to 50
$b[1] # $b refers to the same array as $a, so $b[1] is 50

Jak vidíme, přiřazení hodnoty typu odkazu zahrnuje kopii bez podmět; To znamená kopii odkazu na objekt, nikoli jeho skutečnou hodnotu. Naproti tomu hloubková kopie vyžaduje také vytvoření kopie objektu.

Číselný typ je typ, který umožňuje reprezentaci celočíselných nebo zlomkových hodnot a který podporuje aritmetické operace s těmito hodnotami. Sada číselných typů zahrnuje celočíselné typy (%)4.2.3) a reálné číslo (%)4.2.4), ale nezahrnuje bool (%)4.2.1) ani znak (%)4.2.2). Implementace může poskytovat jiné číselné typy (například podepsané byte, unsigned integer a celá čísla jiných velikostí).

Kolekce je skupina jedné nebo více souvisejících položek, které nemusí mít stejný typ. Příkladem typů kolekcí jsou pole, zásobníky, fronty, seznamy a tabulky hash. Program může vytvořit výčet ( nebo iterovat) nad prvky v kolekci a získat přístup k jednotlivým prvkům po jednom. Běžné způsoby, jak to provést, jsou pomocí příkazu foreach (8.4.4) a rutiny ForEach-Object . Typ objektu, který představuje enumerátor, je popsán v dokumentu 4.5.16.

V této kapitole jsou tabulky, které obsahují přístupné členy daného typu. Pro metody type je zapsán v následujícím tvaru: returnTypeargumentTypeList/. Pokud je seznam typů argumentů příliš dlouhý na to, aby se vešel do tohoto sloupce, zobrazí se místo toho ve sloupci Účel.

Ostatní celočíselné typy jsou SByte, Int16``UInt16, UInt32, UInt64a , všechny v oboru názvů System.

Mnoho tříd kolekcí je definováno jako součást oborů názvů System.Collections nebo System.Collections.Generic . Většina tříd kolekcí implementuje rozhraní ICollection, , IComparer``IEnumerable, IList, IDictionarya IDictionaryEnumerator jejich obecné ekvivalenty.

4.1. Speciální typy

4.1.1 Typ void

Tento typ nelze vytvořit. Poskytuje způsob, jak hodnotu explicitně zahodit pomocí operátoru přetypování (%)7.2.9.

4.1.2 Typ null

Typ null má jednu instanci, automatickou proměnnou $null (2.3.2.2), označované také jako hodnota null. Tato hodnota představuje způsob vyjádření "nothingness" v referenčních kontextech. Charakteristiky tohoto typu nejsou specifikované.

4.1.3 Typ objektu

Každý typ v PowerShellu s výjimkou typu null (4.1.2) je odvozen přímo nebo nepřímo z objektu typu, takže object je konečný základní typ všech typů, které nejsou null. Proměnná omezena (5,3) na typ object není ve skutečnosti vůbec omezena, protože může obsahovat hodnotu libovolného typu.

4.2 Typy hodnot

4.2.1 Logická hodnota

Logický typ je bool. Existují pouze dvě hodnoty tohoto typu, False a True, $false $truereprezentované automatickými proměnnými a (%)2.3.2.2.

V PowerShellu se mapuje bool na System.Boolean.

4.2.2 Znak

Znaková hodnota má typ char, který je schopný uložit jakýkoli 16bitový bod kódu Unicode s kódováním UTF-16.

Typ char má následující přístupné členy:

Člen Druh členu Typ Účel
Maxvalue Statická vlastnost (jen pro čtení) char Největší možná hodnota typu char
Minvalue Statická vlastnost (jen pro čtení) char Nejmenší možná hodnota typu char
Ovládací prvek IsControl Statická metoda bool/char Otestuje, jestli je znak řídicím znakem.
IsDigit (IsDigit) Statická metoda bool/char Otestuje, jestli je znak desítková číslice.
IsLetter Statická metoda bool/char Otestuje, jestli je znak abecedním písmenem.
IsLetterOrDigit Statická metoda bool/char Otestuje, jestli je znak desítková nebo abecední písmeno.
IsLower Statická metoda bool/char Otestuje, jestli je znak malým abecedním písmenem.
IsPunctuation (IsPunctuation) Statická metoda bool/char Otestuje, jestli je znak interpunkční znak.
IsUpper Statická metoda bool/char Otestuje, jestli je znak velké abecední písmeno.
IsWhiteSpace Statická metoda bool/char Testuje, zda je znak prázdné znaky.
Tolower Statická metoda char/string Převede znak na malá písmena.
Toupper Statická metoda char/string Převede znak na velká písmena.

Windows PowerShell: char se mapuje na System.Char.

4.2.3 Integer

Existují dva typy celých čísel se znaménkem, oba používají dvě reprezentace doplňku pro záporné hodnoty:

  • Zadejte int, který používá 32 bitů a dává mu rozsah -2147483648 +2147483647 (včetně).
  • Zadejte long, který používá 64 bitů a dává mu rozsah -9223372036854775808 +9223372036854775807 (včetně).

Typ int má následující přístupné členy:

Člen Druh členu Typ Účel
Maxvalue Statická vlastnost (jen pro čtení) int Největší možná hodnota typu int
Minvalue Statická vlastnost (jen pro čtení) int Nejmenší možná hodnota typu int

Typ long má následující přístupné členy:

Člen Druh členu Typ Účel
Maxvalue Statická vlastnost (jen pro čtení) long Největší možná hodnota typu long
Minvalue Statická vlastnost (jen pro čtení) long Nejmenší možná hodnota typu long

Existuje jeden unsigned integer typ:

  • Typ byte, který používá 8 bitů a poskytuje rozsah od 0 do 255 (včetně).

Typ byte má následující přístupné členy:

Člen Druh členu Typ Účel
Maxvalue Statická vlastnost (jen pro čtení) byte Největší možná hodnota typu byte
Minvalue Statická vlastnost (jen pro čtení) byte Nejmenší možná hodnota typu byte

V PowerShellu se byte, inta long mapovat na System.Byte, System.Int32a System.Int64v uvedeném pořadí.

4.2.4 Reálné číslo

4.2.4.1 float a double

Existují dva skutečné typy (nebo typy s plovoucí desetinnou čárkou):

  • Typ float používá 32bitovou reprezentaci IEEE s jednou přesností.
  • Typ double používá 64bitovou reprezentaci s dvojitou přesností IEEE.

Třetí název typu je singlesynonymem pro typ float. V float této specifikaci se používá .

I když velikost a reprezentace typů float double a jsou definovány podle této specifikace, implementace může použít rozšířené přesnost pro přechodné výsledky.

Typ float má následující přístupné členy:

Člen Druh členu Typ Účel
Maxvalue Statická vlastnost (jen pro čtení) float Největší možná hodnota typu float
Minvalue Statická vlastnost (jen pro čtení) float Nejmenší možná hodnota typu float
Není číslo Statická vlastnost (jen pro čtení) float Konstantní hodnota Not-a-Number
Negativeinfinity Statická vlastnost (jen pro čtení) float Konstantní hodnota záporné nekonečno
Positiveinfinity Statická vlastnost (jen pro čtení) float Konstantní hodnota kladného nekonečna

Typ double má následující přístupné členy:

Člen Druh členu Typ Účel
Maxvalue Statická vlastnost (jen pro čtení) double Největší možná hodnota typu double
Minvalue Statická vlastnost (jen pro čtení) double Nejmenší možná hodnota typu double
Není číslo Statická vlastnost (jen pro čtení) double Konstantní hodnota Not-a-Number
Negativeinfinity Statická vlastnost (jen pro čtení) double Konstantní hodnota záporné nekonečno
Positiveinfinity Statická vlastnost (jen pro čtení) double Hodnota konstanty kladné nekonečno

V PowerShellu float a double namapujte na System.Single a System.Double v uvedeném pořadí.

4.2.4.2 desetinné číslo

Typ Decimal používá 128-bit reprezentace. Minimálně musí podporovat škálování s , což je 0 <= s <= nejméně 28 a rozsah hodnot – 79,228,162,514,264,337,593,543,950,335 na 79228162514264337593543950335. Skutečná reprezentace typu Decimal je definovaná implementací.

Typ Decimal má následující přístupné členy:

Člen Druh člena Typ Účel
MaxValue Static – vlastnost (jen pro čtení) decimal Největší možná hodnota typu Decimal
MinValue Static – vlastnost (jen pro čtení) decimal Nejmenší možná hodnota typu Decimal

Poznámka

Desítkové reálné číslo mají vlastnost s názvem Scale, která představuje počet číslic napravo od desetinné čárky. Například hodnota 2,340 má měřítko 3, kde jsou koncové nuly významné. Když se přidají nebo odečtou dvě desítkové reálné číslo, bude měřítko výsledku větší z obou měřítek. Například 1,0 + 2,000 je 3,000, zatímco 5,0-2,00 je 3,00. Pokud jsou vynásobeny dvě desítkové reálné číslo, je měřítko výsledku součtem dvou stupnic. Například 1,0 * 2,000 je 2,0000. Pokud jsou rozděleny dvě desítkové reálné číslo, je měřítko výsledku v rozsahu od prvního do rozsahu druhého. Například 4.00000/2.000 je 2,00. Měřítko ale nemůže být menší, než je nutné pro zachování správného výsledku. Například 3.000/2.000, 3.00/2.000, 3.0/2.000 a 3/2 jsou všechny 1,5.

V PowerShellu se decimal mapuje na System.Decimal . Reprezentace typu Decimal je následující:

  • Při zvažování jako pole čtyř int hodnot obsahuje následující prvky:
    • Index 0 (bity 0-31) obsahuje dolních 32 bitů koeficientu desítkové soustavy.
    • Index 1 (bity 32-63) obsahuje prostřední 32 bitů koeficientu desítkové soustavy.
    • Index 2 (bity 64-95) obsahuje horních 32 bitů koeficientu desítkové soustavy.
    • Index 3 (bity 96-127) obsahuje bit znaménka a měřítko, jak je znázorněno níže:
      • bity 0--15 jsou nulové.
      • BITS 16-23 obsahuje měřítko jako hodnotu 0--28
      • bity 24-30 jsou nulové.
      • bit 31 je znaménko (0 pro kladné, 1 pro záporné).

4.2.5 typu přepínače

Tento typ slouží k omezení typu parametru v příkazu (§ 8.10.5). Pokud je k dispozici argument s odpovídajícím názvem parametru, testy parametrů $true; v opačném případě testuje $false .

V PowerShellu se switch mapuje na System.Management.Automation.SwitchParameter .

typy výčtu 4.2.6

Výčtový typ je jeden, který definuje sadu pojmenovaných konstant reprezentujících všechny možné hodnoty, které lze přiřadit objektu tohoto typu výčtu. V některých případech je množina hodnot taková, že v jednom okamžiku může být reprezentována pouze jedna hodnota. V ostatních případech je množina hodnot odlišná od dvou a pomocí operátoru-Bor (§ 7.8.5), lze v rámci stejného objektu kódovat více hodnot.

Prostředí PowerShell poskytuje řadu typů výčtu, jak je popsáno v následujících částech.

Typ 4.2.6.1 Action-Preference

Tento typ definovaný pro implementaci má následující vzájemně se vylučující dostupné členy:

Člen Druh člena Účel
Pokračovat Konstanta výčtu Prostředí PowerShell runtime bude pokračovat ve zpracování a upozorní uživatele, že došlo k akci.
Dotázat na Konstanta výčtu Modul runtime prostředí PowerShell zastaví zpracování a požádá uživatele, jak bude pokračovat.
SilentlyContinue Konstanta výčtu Prostředí PowerShell runtime bude pokračovat ve zpracování bez upozorňování uživatele na to, že došlo k akci.
Zastavit Konstanta výčtu Modul runtime prostředí PowerShell zastaví zpracování při výskytu akce.

V PowerShellu je System.Management.Automation.ActionPreference Tento typ.

typ Confirm-Impact 4.2.6.2

Tento typ definovaný pro implementaci má následující vzájemně se vylučující dostupné členy:

Člen Druh člena Účel
Vysoká Konstanta výčtu Prováděná akce má vysoké riziko ztráty dat, například přeformátování pevného disku.
Nízká Konstanta výčtu Prováděná akce má nízké riziko ztráty dat.
Střední Konstanta výčtu Prováděná akce má středně rizikové riziko ztráty dat.
Žádné Konstanta výčtu Nepotvrzujte žádné akce (potlačí všechny požadavky na potvrzení).

V PowerShellu je System.Management.Automation.ConfirmImpact Tento typ.

typ File-Attributes 4.2.6.3

Tento typ definovaný implementací má následující dostupné členy, které lze kombinovat:

Člen Druh člena Účel
Archiv Konstanta výčtu Stav archivu souboru Aplikace používají tento atribut k označení souborů pro zálohování nebo odebrání.
Komprimované Konstanta výčtu Soubor je komprimován.
Zařízení Vyhrazeno pro budoucí použití.
Adresář Konstanta výčtu Soubor je adresář.
Šifrované Konstanta výčtu Soubor nebo adresář je zašifrovaný. U souboru to znamená, že všechna data v souboru jsou zašifrovaná. U adresáře to znamená, že šifrování je výchozí pro nově vytvořené soubory a adresáře.
Skrytý Konstanta výčtu Soubor je skrytý, a proto není zahrnutý v běžném výpisu adresáře.
Normální Konstanta výčtu Soubor je normální a nemá žádné jiné nastavené atributy. Tento atribut je platný pouze v případě, že se používá samostatně.
NotContentIndexed Konstanta výčtu Soubor nebude indexován službou indexování obsahu operačního systému.
Offline Konstanta výčtu Soubor je offline. Data souboru nejsou okamžitě dostupná.
ReadOnly Konstanta výčtu Soubor je jen pro čtení.
Bod rozboru Konstanta výčtu Soubor obsahuje bod rozboru, což je blok uživatelem definovaných dat přidružených k souboru nebo adresáři.
SparseFile Konstanta výčtu Soubor je řídký soubor. Zhuštěné soubory jsou obvykle velké soubory, jejichž data jsou většinou nulami.
Systém Konstanta výčtu Soubor je systémový soubor. Soubor je součástí operačního systému nebo ho používá výhradně operační systém.
Dočasné Konstanta výčtu Soubor je dočasný. Systémy souborů se snaží zachovat všechna data v paměti pro rychlejší přístup, a ne vyprázdnit je zpět do velkokapamového úložiště. Aplikace by měla odstranit dočasný soubor, jakmile už ho nepotřebujete.

V PowerShellu je tento typ System.IO.FileAttributes s atributem FlagsAttribute.

4.2.6.4 Typ parametru regulárního výrazu

Tento typ definovaný implementací má následující přístupné členy, které lze kombinovat:

Člen Druh členu Účel
IgnoreCase Konstanta výčtu Určuje, že porovnávání se bez rozlišení velkých a malých písmen.
Žádné Konstanta výčtu Určuje, že nejsou nastaveny žádné možnosti.

Implementace může poskytnout další hodnoty.

V PowerShellu je tento typ s System.Text.RegularExpressions.RegexOptions atributem FlagsAttribute. Definují se následující dodatečné hodnoty: Compiled, , CultureInvariant``ECMAScript, , ExplicitCapture, IgnorePatternWhitespace, Multiline, RightToLeft, Singleline.

4.3. Odkazové typy

4.3.1 Řetězce

Řetězcová hodnota má typ string a je neměnnou sekvencí nula nebo více znaků typu char, která obsahuje 16bitový bod kódu Unicode s kódováním UTF-16.

Řetězec typu má následující přístupné členy:

Člen Druh členu Typ Účel
Délka Vlastnost instance int (jen pro čtení) Získá počet znaků v řetězci.
Tolower Instance – metoda řetězec Vytvoří nový řetězec, který obsahuje ekvivalent malými písmeny.
Toupper Instance – metoda řetězec Vytvoří nový řetězec, který obsahuje ekvivalent velkých písmen.

V PowerShellu se mapuje string na System.String.

4.3.2 Pole

Všechny typy polí jsou odvozeny z typu Array. Tento typ má následující přístupné členy:

Člen Druh členu Typ Účel
Délka Vlastnost instance (jen pro čtení) int Počet prvků v poli
Rank Vlastnost instance (jen pro čtení) int Počet dimenzí v poli
Kopírovat Static – metoda void/see Purpose column

Zkopíruje rozsah prvků z jednoho pole do druhého. Existují čtyři verze, kde source je zdrojové pole, cíl je cílové pole, count je počet prvků, které se mají kopírovat, a sourceIndex a destinationIndex jsou počáteční umístění v příslušných polích:

Copy(source, destination, int count)
Copy(zdroj, cíl, dlouhý počet)
Copy(source, sourceIndex, destination, destinationIndex, int count)
Copy(source, sourceIndex, destination, destinationIndex, long count)

Získání délky Metoda instance (jen pro čtení) int/none

Počet prvků v dané dimenzi

GetLength(dimenze int)

Další podrobnosti o polích najdete v části 9.

V PowerShellu se mapuje Array na System.Array.

4.3.3 Zatřiďovací tabulky

Typ Zatřiďovací tabulka má následující přístupné členy:

Člen Druh členu Typ Účel
Počet Vlastnost instance int Získá počet párů klíč-hodnota v zatřiďovací tabulce.
Klíče Vlastnost instance Definované implementací Získá kolekci všech klíčů.
Hodnoty Vlastnost instance Definované implementací Získá kolekci všech hodnot.
Odebrat Instance – metoda void/none Odebere určený klíč/hodnotu.

Další podrobnosti o zatřiďovací tabulce najdete v části 10.

V PowerShellu se mapuje Hashtable na System.Collections.Hashtable. Hashtable Prvky jsou uloženy v objektu typu DictionaryEntrya kolekce vrácené klíči a hodnotami mají typ ICollection.

4.3.4 Typ XML

Typ xml implementuje jádro W3C model DOM (Document Object Model) (DOM) úrovně 1 a základní dom úrovně 2. Dom je stromová reprezentace dokumentu XML v paměti (mezipaměti) a umožňuje navigaci a úpravy tohoto dokumentu. Tento typ podporuje operátor dolního indexu [] (7.1.4.4).

V PowerShellu se mapuje xml na System.Xml.XmlDocument.

4.3.5 Typ regulárního výrazu

Typ regex poskytuje stroje pro podporu zpracování regulárních výrazů. Používá se k omezení typu parametru (\5.3), jehož odpovídající argument může obsahovat regulární výraz.

V PowerShellu se mapuje regex na System.Text.RegularExpressions.Regex.

4.3.6 Typ ref

Obvykle se argumenty předá příkazům podle hodnoty. V případě argumentu s nějakým typem hodnoty se předá kopie hodnoty. V případě argumentu s nějakým odkazem je předána kopie odkazu.

Typ ref poskytuje stroje, které umožňují předát argumenty příkazům odkazem, aby příkazy mohly upravit hodnotu argumentu. Typ ref má následující přístupné členy:

Člen Druh členu Typ Účel
Hodnota Vlastnost instance (pro čtení i zápis) Typ odkazované hodnoty. Získá nebo nastaví odkazovanou hodnotu.

Zvažte následující definici funkce a volání:

function Doubler {
    param ([ref]$x) # parameter received by reference
    $x.Value *= 2.0 # note that 2.0 has type double
}

$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type double, value 8.0

Vezměte v úvahu případ, $number je typ omezený:

[int]$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type int, value 8

Jak je vidět, argument i jeho odpovídající parametr musí být deklarovány .ref

V PowerShellu se mapuje ref na System.Management.Automation.PSReference.

4.3.7 Typ scriptblock

Typ scriptblock představuje předkompilovaný blok textu skriptu (7.1.8), který lze použít jako jednu jednotku. Má následující přístupné členy:

Člen Druh členu Typ Účel
Atributy Vlastnost instance (jen pro čtení) Kolekce atributů Získá atributy bloku skriptu.
Soubor Vlastnost instance (jen pro čtení) řetězec Získá název souboru, ve kterém je definován blok skriptu.
Modul Vlastnost instance (jen pro čtení) definované implementace ([4.5.12][4.5.12]) Získá informace o modulu, ve kterém je blok skriptu definován.
GetNewClosure Instanční metoda scriptblock (blokování skriptů)
/none
Načte blok skriptu, který je svázán s modulem. Všechny místní proměnné, které jsou v kontextu volajícího, se zkopírují do modulu .
Invoke Instanční metoda Kolekce objektů/objektů[] Vyvolá blok skriptu se zadanými argumenty a vrátí výsledky.
InvokeReturnAsIs Instanční metoda object/object[] Vyvolá blok skriptu se zadanými argumenty a vrátí všechny vygenerované objekty.
Vytvořit Statická metoda scriptblock (blokování skriptů)
/string
Vytvoří nový objekt scriptblock, který obsahuje zadaný skript.

V PowerShellu se mapuje scriptblock na System.Management.Automation.ScriptBlock. Invokevrátí kolekci .PsObject

4.3.8 Typ matematiky

Typ math poskytuje přístup k některým konstantám a metodám užitečným pro matematické výpočty. Má následující dostupné členy:

Člen Druh člena Typ Účel
E Static – vlastnost (jen pro čtení) double Základ přirozeného logaritmu
PI Static – vlastnost (jen pro čtení) double Poměr obvodu kružnice na jeho průměr
Abs Statická metoda Číselná/číselná Absolutní hodnota (návratový typ je stejný jako typ předaného argumentu)
Acos Statická metoda Dvojitá/dvojitý Úhel, jehož kosinus je zadané číslo.
Asin Statická metoda Dvojitá/dvojitý Úhel, jehož sinus je zadané číslo
Atan Statická metoda Dvojitá/dvojitý Úhel, jehož tangens je zadané číslo
Atan2 Statická metoda Dvojitá/dvojitá osa y, dvojitá osa x Úhel, jehož tangens odpovídá podílu dvou zadaných čísel x a y .
Ceiling Statická metoda

desetinné nebo desetinné

Dvojitá/dvojitý

nejmenší celé číslo větší nebo rovno zadanému číslu
Cos Statická metoda Dvojitá/dvojitý Kosinus zadaného úhlu
Cosh Statická metoda Dvojitá/dvojitý Hyperbolický kosinus zadaného úhlu
Exp Statická metoda Dvojitá/dvojitý e umocněno na zadanou mocninu
Floor Statická metoda

desetinné nebo desetinné

Dvojitá/dvojitý

Největší celé číslo menší nebo rovno zadanému číslu
Protokol Statická metoda

dvojité/dvojité číslo

dvojité/dvojité číslo, dvojitý základ

Logaritmus čísla pomocí základního e nebo základního základu
Log10 Statická metoda Dvojitá/dvojitý Logaritmus o základu 10 zadaného čísla
Maximum Statická metoda Číselná/číselná Větší ze dvou zadaných čísel (návratový typ je stejný jako typ předaných argumentů)
Min Statická metoda Číselná nebo číselná číslice Menší ze dvou zadaných čísel (návratový typ je stejný jako typ předaných argumentů)
Log Statická metoda Dvojitá/dvojitá osa x, dvojitá osa y Zadané číslo x umocněné na zadanou mocninu y
Sin Statická metoda Dvojitá/dvojitý Sinus zadaného úhlu
Sinh Statická metoda Dvojitá/dvojitý Hyperbolický sinus zadaného úhlu
Sqrt Statická metoda Dvojitá/dvojitý Druhá odmocnina zadaného čísla
Tan Statická metoda Dvojitá/dvojitý Tangens zadaného úhlu
Tanh Statická metoda Dvojitá/dvojitý Hyperbolický tangens určeného úhlu

V PowerShellu se Math mapuje na System.Math .

4.3.9 seřazený typ

Typ ordered je typ pseudo, který se používá jenom pro převody.

4.3.10 Typ pscustomobject

Typ pscustomobject je pseudo type, který se používá pouze pro převody.

4.4 Obecné typy

Řada programovacích jazyků a prostředí poskytuje typy, které lze specializovat. Mnoho z těchto typů se označuje jako typy kontejnerů, protože jejich instance mohou obsahovat objekty jiného typu. Představte si typ s názvem Stack, který může představovat zásobník hodnot, které je možné nasunout a odsunout. Uživatel zásobníku obvykle chce do tohoto zásobníku uložit pouze jeden druh objektu. Pokud však jazyk nebo prostředí nepodporuje specializaci typu, musí být implementováno více různých variant typu Stack, i když všechny provádějí stejnou úlohu, pouze s různými elementy typu.

Specializace typu umožňuje implementovat obecný typ tak, aby jej bylo možné omezit na zpracování určité podmnožiny typů při jeho použití. Třeba

  • Obecný typ zásobníku, který je specializovaný na blokování řetězců, může být zapsán jako Stack[string].
  • Obecný typ slovníku, který je specializovaný na držení int klíčů s přidruženými řetězcovou hodnotou, může být zapsán jako Dictionary[int,string].
  • Zásobník řetězců může být zapsán jako Stack[Stack[string]].

I když PowerShell nedefinuje žádné předdefinované obecné typy, může použít tyto typy, pokud jsou poskytovány hostitelským prostředím. Podívejte se na syntaxi v 7.1.10.

Úplný název výše navrhovaného Stack[string] typu je System.Collections.Generic.Stack[string]. Úplný název výše navrhovaného Dictionary[int,string] typu je System.Collections.Generic.Dictionary[int,string].

4.5 Anonymní typy

V některých případech implementace PowerShellu vytvoří objekty určitého typu a tyto objekty mají členy přístupné skriptu. Skutečný název těchto typů však není nutné zadat, pokud jsou přístupní členy zadány dostatečně, aby je bylo možné použít. To znamená, že skripty mohou ukládat objekty těchto typů a přistupovat ke svým členům, aniž by ve skutečnosti znaly názvy těchto typů. Následující pododdíly určují tyto typy.

4.5.1 Typ popisu zprostředkovatele

Tento typ zapouzdřuje stav poskytovatele. Má následující přístupné členy:

Člen Druh členu Typ Účel
Drives Vlastnost instance (jen pro čtení) Definovaná implementace (4.5.2) Kolekce objektů popisu jednotky
Name Vlastnost instance (jen pro čtení) řetězec Název poskytovatele

V PowerShellu je tento typ System.Management.Automation.ProviderInfo.

4.5.2 Typ popisu jednotky

Tento typ zapouzdřuje stav jednotky. Má následující přístupné členy:

Člen Druh členu Typ Účel
Aktuální poloha Vlastnost instance (pro čtení i zápis) řetězec Aktuální pracovní umístění (3.1.4) jednotky
Description Vlastnost instance (pro čtení i zápis) řetězec Popis jednotky
Name Vlastnost instance (jen pro čtení) řetězec Název jednotky
Kořenová složka Vlastnost instance (jen pro čtení) řetězec Název jednotky

V PowerShellu je tento typ System.Management.Automation.PSDriveInfo.

4.5.3 Typ popisu proměnné

Tento typ zapouzdřuje stav proměnné. Má následující přístupné členy:

Člen Druh členu Typ Účel
Atributy Vlastnost instance (jen pro čtení) Definovaná implementace Kolekce atributů
Description Vlastnost instance (pro čtení i zápis) řetězec Popis přiřazený k proměnné prostřednictvím rutin New-Variable nebo Set-Variable .
Modul Vlastnost instance (jen pro čtení) Definovaná implementace (4.5.12) Modul, ze kterého byla tato proměnná exportována
Název modulu Vlastnost instance (jen pro čtení) řetězec Modul, ve kterém byla tato proměnná definována
Name Vlastnost instance (jen pro čtení) řetězec Název přiřazený k proměnné při vytvoření v jazyce PowerShell nebo prostřednictvím New-Variable Set-Variable rutin a .
Možnosti Vlastnost instance (pro čtení i zápis) řetězec Možnosti přiřazené proměnné prostřednictvím rutin New-Variable Set-Variable a .
Hodnota Vlastnost instance (pro čtení i zápis) object Hodnota přiřazená proměnné při přiřazení v jazyce PowerShell nebo prostřednictvím New-Variable Set-Variable rutin a .

V PowerShellu je tento typ System.Management.Automation.PSVariable.

Windows PowerShell: Typ kolekce atributů je System.Management.Automation.PSVariableAttributeCollection.

4.5.4 Typ popisu aliasu

Tento typ zapouzdřuje stav aliasu. Má následující dostupné členy:

Člen Druh člena Typ Účel
CommandType Vlastnost instance (jen pro čtení) Definovaná implementace By se měla porovnat s hodnotou "alias".
Definice Vlastnost instance (jen pro čtení) řetězec Příkaz nebo alias, ke kterému byl alias přiřazen pomocí rutin New-alias nebo Set-alias
Description Vlastnost instance (pro čtení i zápis) řetězec Popis přiřazený aliasu prostřednictvím New-Alias rutin nebo Set-Alias
Modul Vlastnost instance (jen pro čtení) Definovaná implementace (§ 4.5.12) Modul, ze kterého byl tento alias exportován
ModuleName Vlastnost instance (jen pro čtení) řetězec Modul, ve kterém byl tento alias definován
Name Vlastnost instance (jen pro čtení) řetězec Název přiřazený aliasu, když byl vytvořen pomocí New-Alias rutin nebo Set-Alias .
Možnosti Vlastnost instance (pro čtení i zápis) řetězec Možnosti přiřazené aliasu prostřednictvím New-Alias New-Alias nebo Set-Alias rutin.
OutputType Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Určuje typy výstupních hodnot pomocí příkazu, na který alias odkazuje.
Parametry Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Parametry příkazu
Sadami parametrů Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Informace o sadách parametrů přidružených k příkazu.
ReferencedCommand Vlastnost instance (jen pro čtení) Definovaná implementace Informace o příkazu, na který je přímo odkazováno pomocí tohoto aliasu
ResolvedCommand Vlastnost instance (jen pro čtení) Definovaná implementace Informace o příkazu, na který alias nakonec překládá.

V PowerShellu je System.Management.Automation.AliasInfo Tento typ.

typ popisu pracovní polohy 4.5.5

Tento typ zapouzdřuje stav pracovního umístění. Má následující dostupné členy:

Člen Druh člena Typ Účel
Disky Vlastnost instance (jen pro čtení) Definovaná implementace (§ 4.5.2) Objekt popisu jednotky
Cesta Vlastnost instance (jen pro čtení) řetězec Pracovní umístění
Poskytovatel Vlastnost instance (jen pro čtení) Definovaná implementace (§ 4.5.1) Poskytovatel
ProviderPath Vlastnost instance (jen pro čtení) řetězec Aktuální cesta zprostředkovatele

Zásobník pracovních míst je kolekce objektů pracovních umístění, jak je popsáno výše.

V prostředí PowerShell je aktuální pracovní umístění reprezentované objektem typu System.Management.Automation.PathInfo . Zásobník pracovních míst je reprezentován objektem typu System.Management.Automation.PathInfoStack , který je kolekcí PathInfo objektů.

typ popisu proměnné prostředí 4.5.6

Tento typ zapouzdřuje stav proměnné prostředí. Má následující dostupné členy:

Člen Druh člena Typ Účel
Name Vlastnost instance (pro čtení i zápis) řetězec Název proměnné prostředí
Hodnota Vlastnost instance (pro čtení i zápis) řetězec Hodnota proměnné prostředí

V PowerShellu je System.Collections.DictionaryEntry Tento typ. Název proměnné je klíč slovníku. Hodnota proměnné prostředí je hodnota Dictionary. Název je, který odpovídá AliasProperty klíči.

4.5.7 Typ popisu aplikace

Tento typ zapouzdřuje stav aplikace. Má následující přístupné členy:

Člen Druh členu Typ Účel
Commandtype Vlastnost instance (jen pro čtení) Definovaná implementace Měl by se porovnat s hodnotou Aplikace.
Definice Vlastnost instance (jen pro čtení) řetězec Popis aplikace
Linka Vlastnost instance (pro čtení i zápis) řetězec Přípona souboru aplikace.
Modul Vlastnost instance (jen pro čtení) Definovaná implementace (4.5.12) Modul, který tento příkaz definuje.
Název modulu Vlastnost instance (jen pro čtení) řetězec Název modulu, který definuje příkaz .
Name Vlastnost instance (jen pro čtení) řetězec Název příkazu.
Typ výstupu Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Určuje typy výstupu hodnot příkazem .
Parametry Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Parametry příkazu
Sady parametrů Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Informace o sadách parametrů přidružených k příkazu .
Cesta Vlastnost instance (jen pro čtení) řetězec Získá cestu k souboru aplikace.

V PowerShellu je tento typ System.Management.Automation.ApplicationInfo.

Typ popisu rutiny 4.5.8

Tento typ zapouzdřuje stav rutiny. Má následující přístupné členy:

Člen Druh členu Typ Účel
Commandtype Vlastnost instance (jen pro čtení) Definovaná implementace Měl by se porovnat s "rutinou".
DefaultParameterSet Vlastnost instance (jen pro čtení) Definovaná implementace Výchozí sada parametrů, která se použije, pokud PowerShell nemůže určit, která sada parametrů se má použít, na základě zadaných argumentů.
Definice Vlastnost instance (jen pro čtení) řetězec Popis rutiny
Helpfile Vlastnost instance (pro čtení i zápis) řetězec Cesta k souboru nápovědy pro rutinu .
Implementující typ Vlastnost instance (pro čtení i zápis) Definovaná implementace Typ, který implementuje rutinu .
Modul Vlastnost instance (jen pro čtení) Definovaná implementace (4.5.12) Modul, který tuto rutinu definuje.
Název modulu Vlastnost instance (jen pro čtení) řetězec Název modulu, který definuje rutinu .
Name Vlastnost instance (jen pro čtení) řetězec Název rutiny.
Podstatné jméno Vlastnost instance (jen pro čtení) řetězec Název podstatného jména rutiny.
Typ výstupu Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Určuje typy výstupu hodnot rutinou .
Parametry Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Parametry rutiny
Sady parametrů Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Informace o sadách parametrů přidružených k rutině .
Příkaz Vlastnost instance (jen pro čtení) řetězec Název operace rutiny.
PSSnapIn Vlastnost instance (jen pro čtení) Definovaná implementace Windows PowerShell: Informace o modulu snap-in Windows PowerShellu, který se používá k registraci rutiny .

V PowerShellu je tento typ System.Management.Automation.CmdletInfo.

4.5.9 Typ popisu externího skriptu

Tento typ zapouzdřuje stav externího skriptu (ten, který je přímo spustitelný pomocí PowerShellu, ale není integrovaný). Má následující přístupné členy:

Člen Druh členu Typ Účel
Commandtype Vlastnost instance (jen pro čtení) Definovaná implementace Měl by se porovnat s "ExternalScript".
Definice Vlastnost instance (jen pro čtení) řetězec Definice skriptu.
Modul Vlastnost instance (jen pro čtení) Definovaná implementace (4.5.12) Modul, který tento skript definuje.
Název modulu Vlastnost instance (jen pro čtení) řetězec Název modulu, který definuje skript.
Name Vlastnost instance (jen pro čtení) řetězec Název skriptu.
OriginalEncoding Vlastnost instance (jen pro čtení) Definovaná implementace Původní kódování použité k převodu znaků skriptu na bajty.
Typ výstupu Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Určuje typy výstupu hodnot ve skriptu.
Parametry Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Parametry skriptu.
Sady parametrů Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Informace o sadách parametrů přidružených ke skriptu.
Cesta Vlastnost instance (jen pro čtení) řetězec Cesta k souboru skriptu.
Blokování skriptů Vlastnost instance (jen pro čtení) scriptblock (blokování skriptů) Externí skript.
ScriptContents Vlastnost instance (jen pro čtení) řetězec Původní obsah skriptu.

V PowerShellu je tento typ System.Management.Automation.ExternalScriptInfo.

4.5.10 Typ popisu funkce

Tento typ zapouzdřuje stav funkce. Má následující přístupné členy:

Člen Druh členu Typ Účel
Vazby rutin Vlastnost instance (jen pro čtení) bool Určuje, jestli funkce používá stejnou vazbu parametrů, kterou používají zkompilované rutiny (viz 12.3.5).
Commandtype Vlastnost instance (jen pro čtení) Definovaná implementace Lze porovnat rovnost pomocí funkcí nebo filtru a zjistit, které z těchto objektů tento objekt představuje.
DefaultParameterSet Vlastnost instance (jen pro čtení) řetězec Určuje sadu parametrů, která se má použít, pokud ji nelze určit z argumentů (viz hodnota parametru 12.3.5).
Definice Vlastnost instance (jen pro čtení) řetězec Řetězcová verze ScriptBlock
Description Vlastnost instance (pro čtení i zápis) řetězec Popis funkce
Modul Vlastnost instance (jen pro čtení) Definovaná implementace (4.5.12) Modul, ze kterého byla tato funkce exportována
Název modulu Vlastnost instance (jen pro čtení) řetězec Modul, ve kterém byla tato funkce definovaná
Name Vlastnost instance (jen pro čtení) řetězec Název funkce
Možnosti Vlastnost instance (pro čtení i zápis) Definovaná implementace Možnosti oboru pro funkci (§ 3.5.4).
OutputType Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Určuje typy výstupu hodnot v pořadí (viz § 12.3.6).
Parametry Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Určuje názvy parametrů v pořadí. Pokud funkce funguje jako rutina (viz CmdletBinding výše), společné parametry jsou zahrnuty na konci kolekce.
Sadami parametrů Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Informace o sadách parametrů přidružených k příkazu. U každého parametru výsledek zobrazuje název a typ parametru a určuje, zda je parametr povinný, podle pozice nebo parametr přepínače. Pokud funkce funguje jako rutina (viz CmdletBinding výše), společné parametry jsou zahrnuty na konci kolekce.
ScriptBlock Vlastnost instance (jen pro čtení) ScriptBlock (§ 4.3.6) Tělo funkce

V PowerShellu je System.Management.Automation.FunctionInfo Tento typ.

  • CommandType má typ System.Management.Automation.CommandTypes .
  • Options má typ System.Management.Automation.ScopedItemOptions .
  • OutputType má typ System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]] .
  • Parameters má typ System.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]] .
  • ParameterSets má typ System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]] .
  • Viditelnost má typ System.Management.Automation.SessionStateEntryVisibility .
  • Prostředí PowerShell obsahuje také vlastnost s názvem visibility.

typ popisu filtru 4.5.11

Tento typ zapouzdřuje stav filtru. Má stejnou sadu přístupných členů jako typ popisu funkce (§ 4.5.10).

V PowerShellu je System.Management.Automation.FilterInfo Tento typ. Má stejnou sadu vlastností jako System.Management.Automation.FunctionInfo (§ 4.5.11).

typ popisu modulu 4.5.12

Tento typ zapouzdřuje stav modulu. Má následující dostupné členy:

Člen Druh člena Typ Účel
Description Vlastnost instance (pro čtení i zápis) řetězec Popis modulu (nastaveného v manifestu)
ModuleType Vlastnost instance (jen pro čtení) Definovaná implementace Typ modulu (manifest, skript nebo binární)
Name Vlastnost instance (jen pro čtení) řetězec Název modulu
Cesta Vlastnost instance (jen pro čtení) řetězec Cesta modulu

V PowerShellu je System.Management.Automation.PSModuleInfo Tento typ. Typ ModuleType je System.Management.Automation.ModuleType .

typ popisu vlastního objektu 4.5.13

Tento typ zapouzdřuje stav vlastního objektu. Nemá žádné přístupné členy.

V PowerShellu je System.Management.Automation.PSCustomObject Tento typ. Rutiny Import-Module a New-Object mohou vygenerovat objekt tohoto typu.

typ popisu příkazu 4.5.14

Automatická proměnná $PsCmdlet je objekt, který představuje spuštěnou rutinu nebo funkci. Typ tohoto objektu je definován implementací. má následující dostupné členy:

Člen Druh člena Typ Účel
ParameterSetName Vlastnost instance (jen pro čtení) řetězec Název aktuální sady parametrů (viz ParameterSetName)
ShouldContinue Instanční metoda

Přetížené

/bool

Požádá o potvrzení operace od uživatele.
ShouldProcess Instanční metoda

Přetížené

/bool

Před provedením operace požaduje od uživatele potvrzení.

V PowerShellu je tento typ System. Management. Automation. PSScriptCmdlet.

typ popisu záznamu chyby 4.5.15

Automatická proměnná $Error obsahuje kolekci záznamů chyb, které reprezentují Nedávné chyby (§ 3,12). I když typ této kolekce není zadán, podporuje pro získání přístupu k jednotlivým záznamům o chybách i postup.

V PowerShellu je System.Collections.ArrayList typ kolekce. Typ jednotlivého záznamu chyby v kolekci je System.Management.Automation.ErrorRecord . Tento typ má následující veřejné vlastnosti:

  • CategoryInfo – načte informace o kategorii chyby.
  • ErrorDetails – získá a nastaví podrobnější informace o chybách, jako je například nahrazující chybová zpráva.
  • Výjimka – získá výjimku, která je přidružena k tomuto záznamu chyby.
  • FullyQualifiedErrorId – získá plně kvalifikovaný identifikátor chyby pro tento záznam chyby.
  • InvocationInfo – načte informace o příkazu, který byl vyvolán, když došlo k chybě.
  • PipelineIterationInfo – Získá stav kanálu při vytvoření záznamu chyby.
  • TargetObject – Získá objekt, který byl zpracován v okamžiku, kdy došlo k chybě.

typ popisu čítače výčtu 4.5.16

Řada proměnných je enumerátorů pro kolekce (§ 4). Automatická proměnná $foreach je enumerátor vytvořený pro libovolný foreach příkaz. Automatická proměnná $input je enumerátor pro kolekci doručenou funkci z kanálu. Automatická proměnná $switch je enumerátor vytvořený pro libovolný switch příkaz.

Typ enumerátoru je definovaná implementace; má následující dostupné členy:

Člen Druh člena Typ Účel
Current Vlastnost instance (jen pro čtení) object Získá aktuální prvek v kolekci. Pokud enumerátor není aktuálně umístěn v prvku kolekce, chování je definováno implementací.
Metoda Instanční metoda Žádné/bool Posune enumerátor na další prvek kolekce. Vrátí $true, zda byl enumerátor úspěšně rozšířen na další prvek; $false, pokud enumerátor prošl na konci kolekce.

V prostředí PowerShell jsou tito členové definováni v rozhraní System.IEnumerator , které je implementováno pomocí typů uvedených níže. Pokud enumerátor není aktuálně umístěn v prvku kolekce, je vyvolána výjimka typu InvalidOperationException . Pro $foreach je tento typ System.Array+SZArrayEnumerator . Pro $input je tento typ System.Collections.ArrayList+ArrayListEnumeratorSimple . Pro $switch je tento typ System.Array+SZArrayEnumerator .

typ popisu adresáře 4.5.17

Rutina New-Item může vytvářet položky různých druhů, včetně adresářových souborů. Typ objektu popis adresáře je implementovaná implementace; má následující dostupné členy:

Člen Druh člena Typ Účel
Atributy Vlastnost instance (pro čtení i zápis) Definovaná implementace (§ 4.2.6.3) Získá nebo nastaví jednu nebo více atributů objektu Directory.
CreationTime Vlastnost instance (pro čtení i zápis) Definovaná implementace (§ 4.5.19) Získá a nastaví čas vytvoření objektu adresáře.
Linka Vlastnost instance (jen pro čtení) řetězec Získá část s příponou názvu adresáře.
FullName Vlastnost instance (jen pro čtení) řetězec Získá úplnou cestu k adresáři.
LastWriteTime Vlastnost instance (pro čtení i zápis) Definovaná implementace (§ 4.5.19) Získá a nastaví čas posledního zápisu adresáře do.
Name Vlastnost instance (jen pro čtení) řetězec Získá název adresáře.

V PowerShellu je System.IO.DirectoryInfo Tento typ. Typ vlastnosti atributů je System.IO.FileAttributes .

typ popisu souboru 4.5.18

Rutina New-Item může vytvořit položky různých typů, včetně souborů systému souborů. Typ objektu popis souboru je definovaná implementace; má následující dostupné členy:

Člen Druh člena Typ Účel
Atributy Vlastnost instance (pro čtení i zápis) Definovaná implementace (§ 4.2.6.3) Získá nebo nastaví jeden nebo více atributů objektu File.
BaseName Vlastnost instance (jen pro čtení) řetězec Získá název souboru s výjimkou rozšíření.
CreationTime Vlastnost instance (pro čtení i zápis) Definovaná implementace (§ 4.5.19) Získá a nastaví čas vytvoření objektu File.
Linka Vlastnost instance (jen pro čtení) řetězec Získá část s příponou názvu souboru.
FullName Vlastnost instance (jen pro čtení) řetězec Získá úplnou cestu k souboru.
LastWriteTime Vlastnost instance (pro čtení i zápis) Definovaná implementace (§ 4.5.19) Získá a nastaví čas posledního zápisu souboru do.
Délka Vlastnost instance (jen pro čtení) long Získá velikost souboru v bajtech.
Name Vlastnost instance (jen pro čtení) řetězec Získá název souboru.
Informace o verzi Vlastnost instance (jen pro čtení) Definovaná implementace Windows PowerShell: Tato vlastnost ScriptProperty vrátí pro soubor System.Diagnostics.FileVersionInfo.

V PowerShellu je tento typ System.IO.FileInfo.

4.5.19 Date-Time popisu

Typ objektu popisu data a času je definován. má následující přístupné členy:

Člen Druh členu Typ Účel
Den Vlastnost instance (jen pro čtení) int Získá komponentu dne měsíce reprezentované touto instancí.
Hodina Vlastnost instance (jen pro čtení) int Získá hodinovou komponentu data reprezentované touto instancí.
Minuta Vlastnost instance (jen pro čtení) int Získá minutovou komponentu data reprezentované touto instancí.
Month (Měsíc) Vlastnost instance (jen pro čtení) int Získá složku měsíce data reprezentované touto instancí.
Second Vlastnost instance (jen pro čtení) int Získá komponentu sekund data reprezentované touto instancí.
Year (Rok) Vlastnost instance (jen pro čtení) int Získá složku roku data reprezentované touto instancí.

Objekt tohoto typu lze vytvořit pomocí rutiny Get-Date.

V PowerShellu je tento typ System.DateTime.

4.5.20 Group-Info popisu

Typ objektu popisu group-info je definovaný implementací. má následující přístupné členy:

Člen Druh členu Typ Účel
Počet Vlastnost instance (jen pro čtení) int Získá počet prvků ve skupině.
Group (Skupina) Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Získá prvky skupiny.
Name Vlastnost instance (jen pro čtení) řetězec Získá název skupiny.
Hodnoty Vlastnost instance (jen pro čtení) Kolekce definovaná implementací Získá hodnoty prvků skupiny.

Objekt tohoto typu lze vytvořit rutinou Group-Object.

V PowerShellu je tento typ Microsoft.PowerShell.Commands.GroupInfo.

4.5.21 Typ popisu Generic-Measure-Info

Typ objektu popisu generic-measure-info je definovaný implementací. má následující přístupné členy:

Člen Druh členu Typ Účel
Průměr Vlastnost instance (jen pro čtení) double Získá průměr hodnot měřených vlastností.
Počet Vlastnost instance (jen pro čtení) int Získá počet objektů se zadanými vlastnostmi.
Maximum Vlastnost instance (jen pro čtení) double Získá maximální hodnotu zadaných vlastností.
Minimum Vlastnost instance (jen pro čtení) double Získá minimální hodnotu zadaných vlastností.
Vlastnost Vlastnost instance (jen pro čtení) řetězec Získá vlastnost, která se má změřit.
Sum Vlastnost instance (jen pro čtení) double Získá součet hodnot zadaných vlastností.

Objekt tohoto typu lze vytvořit pomocí rutiny Measure-Object.

V PowerShellu je tento typ Microsoft.PowerShell.Commands.GenericMeasureInfo.

4.5.22 Text-Measure-Info description type

Typ objektu popisu text-info je definovaný implementací. má následující přístupné členy:

Člen Druh členu Typ Účel
Znaky Vlastnost instance (jen pro čtení) int Získá počet znaků v cílovém objektu.
Spojnice Vlastnost instance (jen pro čtení) int Získá počet řádků v cílovém objektu.
Vlastnost Vlastnost instance (jen pro čtení) řetězec Získá vlastnost, která se má změřit.
Slova Vlastnost instance (jen pro čtení) int Získá počet slov v cílovém objektu.

Objekt tohoto typu lze vytvořit rutinou Measure-Object.

V PowerShellu je tento typ Microsoft.PowerShell.Commands.TextMeasureInfo.

4.5.23 Typ přihlašovacích údajů

Objekt přihlašovacích údajů je pak možné použít v různých operacích zabezpečení. Typ objektu přihlašovacích údajů je definovaný implementací. má následující přístupné členy:

Člen Druh členu Typ Účel
Heslo Vlastnost instance (jen pro čtení) Definovaná implementace Získá heslo.
Uživatelské jméno Vlastnost instance (jen pro čtení) řetězec Získá uživatelské jméno.

Objekt tohoto typu lze vytvořit rutinou Get-Credential.

V PowerShellu je tento typ System.Management.Automation.PSCredential.

4.5.24 Typ návrháře metody

Typ návrháře metody je definován implementací. má následující přístupné členy:

Člen Druh členu Typ Účel
Invoke Instanční metoda Číslo objektu/proměnné a typ Přebírá proměnlivý počet argumentů a nepřímo volá metodu, na kterou odkazuje návrhář nadřazené metody, a předává argumenty.

Objekt tohoto typu lze vytvořit pomocí výrazu invocation-expression (%)7.1.3).

V PowerShellu je tento typ System.Management.Automation.PSMethod.

4.5.25 Typ definice člena

Tento typ zapouzdřuje definici členu. Má následující přístupné členy:

Člen Druh členu Typ Účel
Definice Vlastnost instance (jen pro čtení) řetězec Získá definici členu.
Membertype Vlastnost instance (jen pro čtení) Definovaná implementace Získá typ powershellu členu.
Name Vlastnost instance (jen pro čtení) řetězec Získá název členu.
TypeName Vlastnost instance (jen pro čtení) řetězec Získá název typu členu.

V PowerShellu je tento typ Microsoft.PowerShell.Commands.MemberDefinition.

4.6 Rozšíření a adaptace typu

Implementace PowerShellu zahrnuje rodinu základních typů (které jsou zdokumentované v této kapitole), které obsahují vlastní sadu základních členů. Těmito členy mohou být metody nebo vlastnosti a mohou být instancemi nebo statickými členy. Například základní členy řetězce typu (/4.3.1) jsou vlastnost instance Length a metody instance ToLower a ToUpper.

Při vytvoření objektu obsahuje všechny vlastnosti instance tohoto typu objektu a u tohoto objektu lze volat metody instance tohoto typu. Objekt lze přizpůsobit přidáním členů instance za běhu. Výsledek se nazývá vlastní objekt. Všichni členové přidaní do instance existují pouze po dobu životnosti této instance. jiné instance stejného základního typu nejsou ovlivněny.

Základní členská sada typu může být rozšířena o přidání následujících druhů členů:

  • adaptované členy prostřednictvím rozšířeného systému typů (ETS), většina podrobností je neurčeno.
  • Rozšířené členy prostřednictvím rutiny Add-Member.

V PowerShellu je možné rozšířené členy přidat také prostřednictvím types.ps1xml souborů. Upravené a rozšířené členy se souhrnně nazývají syntetické členy.

ETS přidá ke všem objektům PowerShellu následující členy: psbase, psadapted, psextended a pstypenames. Další informace o těchto členech najdete v tématu o parametrech Force a View v rutině Get-Member .

Člen instance může skrýt rozšířeného nebo upraveného člena se stejným názvem a rozšířený člen může skrýt upraveného člena. V takových případech lze sady členů psadapted a psextended použít pro přístup k naopak skrytým členům.

Pokud určuje types.ps1xml člen s názvem Supports, obj.psextended poskytuje přístup pouze k členu, a nikoli členu přidanému prostřednictvím Add-Member.

Existují tři způsoby, jak vytvořit vlastní objekt s novým členem M:

  1. Tento přístup lze použít k přidání jednoho nebo více členů NoteProperty.

    $x = New-Object PsObject -Property @{M = 123}`
    
  2. Tento přístup lze použít k přidání členů NoteProperty nebo ScriptMethod.

    $x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}`
    
  3. Tento přístup lze použít k přidání jakéhokoli druhu členu.

    $x = New-Object PsObject
    Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
    

PsObject je základní typ všech typů PowerShellu.