Over intrinsieke leden

Korte beschrijving

Bevat informatie over de intrinsieke leden van PowerShell die beschikbaar zijn voor alle PowerShell-objecten.

Gedetailleerde beschrijving

Wanneer objecten worden gemaakt, worden in PowerShell enkele verborgen eigenschappen en methoden aan elk object toegevoegd. Deze eigenschappen en methoden worden intrinsieke leden genoemd. Deze intrinsieke leden zijn normaal gesproken verborgen. Sommige van deze leden kunnen worden weergegeven met behulp van de Get-Member -Force opdracht.

Objectweergaven

De intrinsieke leden bevatten een set MemberSet-eigenschappen die een weergave van het object vertegenwoordigen. U kunt de Eigenschappen van MemberSet vinden met behulp van de Get-Member -Force opdracht op elk PowerShell-object. Elk PowerShell-object bevat de volgende MemberSet-eigenschappen .

psbase

Deze psbase bevat de leden het basisobject zonder uitbreiding of aanpassing.

psadapted

In de aangepaste weergave ziet u het basisobject plus de aangepaste leden, indien aanwezig. Aangepaste leden worden toegevoegd door het Extended Type System (ETS).

pesxtended

In de pesxtended-weergave worden alleen de leden weergegeven die zijn toegevoegd door de types.ps1xml-bestanden en de cmdlet Add-Member . Elk object kan tijdens runtime worden uitgebreid met behulp van de Add-Member cmdlet.

psobject

Het basistype van alle PowerShell-objecten is [PSObject]. Wanneer een object wordt gemaakt, verpakt PowerShell het object echter ook met een [PSObject] exemplaar. Het psobject-lid biedt toegang tot het [PSObject] wrapper-exemplaar. De wrapper bevat methoden, eigenschappen en andere informatie over het object. Het gebruik van het psobject-lid is vergelijkbaar met het gebruik van Get-Member, maar er zijn enkele verschillen omdat het alleen toegang heeft tot het wrapper-exemplaar.

Typegegevens

pstypenames

PSTypeNames is een CodeProperty-lid dat de objecttypehiërarchie vermeldt in volgorde van overname. Bijvoorbeeld:

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

Zoals hierboven wordt weergegeven, begint het met het meest specifieke objecttype, System.IO.FileInfoen gaat het verder tot het meest algemene type, System.Object.

Methoden

PowerShell voegt twee verborgen methoden toe aan alle PowerShell-objecten. Deze methoden zijn niet zichtbaar met behulp van de Get-Member -Force opdracht of tabvoltooiing.

ForEach() en Where()

De ForEach() en Where() methoden zijn beschikbaar voor alle PowerShell-objecten. Ze zijn echter het handigst bij het werken met verzamelingen. Zie about_Arrays voor meer informatie over het gebruik van deze methoden.

Eigenschappen

Aantal en lengte

De eigenschappen Count en Length zijn beschikbaar voor alle PowerShell-objecten. Deze zijn vergelijkbaar met elkaar, maar werken mogelijk anders, afhankelijk van het gegevenstype. Zie about_Properties voor meer informatie over deze eigenschappen.

Scalaire typen matrixindexering

Wanneer een object geen geïndexeerde verzameling is, retourneert het object zelf met behulp van de indexoperator om toegang te krijgen tot het eerste element. Indexwaarden buiten het eerste element retourneren $null.

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

Zie about_Operators voor meer informatie.

Methode New() voor typen

Vanaf PowerShell 5.0 voegt PowerShell een statische New() methode toe voor alle .NET-typen. De volgende voorbeelden produceren hetzelfde resultaat.

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

Het gebruik van de new() methode presteert beter dan het gebruik New-Object.

Zie about_Classes voor meer informatie.