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.FileInfo
en 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.