Delen via


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, voegt PowerShell enkele 'verborgen' eigenschappen en methoden toe aan elk object. Deze eigenschappen en methoden worden intrinsieke leden genoemd. Deze intrinsieke leden worden 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 MemberSet-eigenschappen 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 extensie of aanpassing.

psadapted

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

psextended

In de psextended-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 echter wordt gemaakt, verpakt PowerShell het object ook met een [PSObject] exemplaar. Het lid psobject staat toegang tot het wrapper-exemplaar [PSObject] toe. 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 in volgorde van overname weergeeft. 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 naar 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() methoden en Where() 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 Aantal en Lengte 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 als u de indexoperator gebruikt 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 leveren hetzelfde resultaat op.

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

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

Zie about_Classes voor meer informatie.