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 vissa "dolda" egenskaper och metoder i varje objekt. Dessa egenskaper och metoder kallas inbyggda medlemmar. Dessa inbyggda medlemmar är vanligtvis dolda från vyn. Några av dessa medlemmar kan ses med hjälp av Get-Member -Force kommandot .

Objektvyer

De inbyggda medlemmarna innehåller en uppsättning MemberSet-egenskaper som representerar en vy av objektet. Du hittar MemberSet-egenskaperna med hjälp av kommandot Get-Member -Force på alla PowerShell-objekt. Varje PowerShell-objekt innehåller följande MemberSet-egenskaper.

psbase

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

psadapted

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

psextended

I vyn psextended visas endast de medlemmar som lagts till av Types.ps1xml-filerna och cmdleten Add-Member. Alla objekt kan utökas vid körning med hjälp av Add-Member cmdleten .

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 [PSObject] omslutningsinstansen. Omslutaren 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 använder omslutningsinstansen.

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 det med den mest specifika System.IO.FileInfo objekttypen, , och fortsätter ned till den mest generiska typen, System.Object .

Metoder

PowerShell lägger till två dolda metoder i alla PowerShell-objekt. Dessa metoder visas inte med hjälp av Get-Member -Force kommando- eller tabbslutet.

ForEach() och Where()

Metoderna ForEach() och är tillgängliga för alla Where() 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. De liknar varandra men kan fungera på olika sätt beroende på datatypen. Mer information om dessa egenskaper finns i about_Properties.

Skalärtyper för 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')

Metoden fungerar new() bättre än att använda New-Object .

Mer information finns i about_Classes.