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.