Om inbyggda medlemmar

Kort beskrivning

Innehåller information om PowerShells inbyggda medlemmar som är tillgängliga för alla PowerShell-objekt.

Detaljerad beskrivning

När objekt skapas lägger PowerShell till några "dolda" egenskaper och metoder för varje objekt. Dessa egenskaper och metoder kallas för inbyggda medlemmar. Dessa inbyggda medlemmar är normalt dolda från vyn. Vissa av dessa medlemmar kan ses med kommandot Get-Member -Force .

Objektvyer

De inbyggda medlemmarna innehåller en uppsättning medlemsuppsättningsegenskaper som representerar en vy över objektet. Du hittar egenskaperna för MemberSet med kommandot Get-Member -Force på alla PowerShell-objekt. Alla PowerShell-objekt innehåller följande Medlemsuppsättningsegenskaper .

psbase

Den här psbase innehåller medlemmarna i basobjektet utan tillägg eller anpassning.

psadapted

Den psadapted vyn visar basobjektet plus de anpassade medlemmarna, om de finns. Anpassade medlemmar läggs till av ETS (Extended Type System).

psextended

Vyn psextended visar bara de medlemmar som har lagts till av Types.ps1xml-filerna och cmdleten Add-Member . Alla objekt kan utökas vid körning med hjälp av cmdleten Add-Member .

psobject

Bastypen för alla PowerShell-objekt är [PSObject]. Men när ett objekt skapas omsluter PowerShell även objektet med en [PSObject] instans. Psobject-medlemmen ger åtkomst till wrapper-instansen[PSObject]. Omslutningen innehåller metoder, egenskaper och annan information om objektet. Att använda psobject-medlemmen är jämförbart med att använda Get-Member, men det finns vissa skillnader eftersom den bara har åtkomst till wrapper-instansen.

Typinformation

pstypenames

PSTypeNames är en CodeProperty-medlem som listar objekttypshierarkin i arvsordning. Exempel:

$file = Get-Item C:\temp\test.txt
$file.pstypenames
System.IO.FileInfo
System.IO.FileSystemInfo
System.MarshalByRefObject
System.Object

Som du ser ovan börjar den med den mest specifika objekttypen , System.IO.FileInfooch fortsätter ned till den mest generiska typen, System.Object.

Metoder

PowerShell lägger till två dolda metoder för alla PowerShell-objekt. Dessa metoder visas inte med hjälp av Get-Member -Force kommandot eller tabbslutningen.

ForEach() och Where()

Metoderna ForEach() och Where() är tillgängliga för alla PowerShell-objekt. De är dock mest användbara när du arbetar med samlingar. Mer information om hur du använder dessa metoder finns i about_Arrays.

Egenskaper

Antal och längd

Egenskaperna Antal och Längd är tillgängliga för alla PowerShell-objekt. Dessa liknar varandra men kan fungera olika beroende på datatyp. Mer information om dessa egenskaper finns i about_Properties.

Skalära typer av matrisindexering

När ett objekt inte är en indexerad samling returneras själva objektet med hjälp av indexoperatorn för att komma åt det första elementet. Indexvärden utöver det första elementet returnerar $null.

PS> (2)[0]
2
PS> (2)[-1]
2
PS> (2)[1] -eq $null
True
PS> (2)[0,0] -eq $null
True

Mer information finns i about_Operators.

New()-metod för typer

Från och med PowerShell 5.0 lägger PowerShell till en statisk New() metod för alla .NET-typer. Följande exempel ger samma resultat.

$expression = New-Object -TypeName regex -ArgumentList 'pattern'
$expression = [regex]::new('pattern')

Det går bättre att new() använda metoden än att använda New-Object.

Mer information finns i about_Classes.