.NET típusok, statikus tagok

A következő táblázatban összefoglaltam a PowerShell által rövid névvel is hivatkozott típusokat és azok .NET Frameworkbeli típusmegnevezését:

PowerShell rövid név

.NET típusnév

[adsi]

System.DirectoryServices.DirectoryEntry

[adsisearcher]

System.DirectoryServices.DirectorySearcher

[array]

System.Array

[bool]

System.Boolean

[byte]

System.Byte

[char]

System.Char

[datetime]

System.DateTime

[decimal]

System.Decimal

[double]

System.Double

[float]

System.Single

[hashtable]

System.Collections.Hashtable

[int]

System.Int32

[ipaddress]

System.Net.IPAddress

[long]

System.Int64

[powershell]

System.Management.Automation.PowerShell

[psobject]

System.Management.Automation.PSObject

[ref]

System.Management.Automation.PSReference

[regex]

System.Text.RegularExpressions.Regex

[scriptblock]

System.Management.Automation.ScriptBlock

[single]

System.Single

[string]

System.String

[switch]

System.Management.Automation.SwitchParameter

[type]

System.Type

[void]

System.Void

[wmi]

System.Management.ManagementObject

[wmiclass]

System.Management.ManagementClass

[wmisearcher]

System.Management.ManagementClass

[xml]

System.Xml.XmlDocument

Megjegyzés

A típusok rövid hivatkozásainak teljes listáját a következő kifejezéssel tudjuk megkapni:

PS C:\> [PSObject].Assembly.GetType("System.Management.Automation.TypeAccelerat

ors")::Get.getenumerator() | Sort-Object -Property key

 

Key                                     Value

---                                     -----

adsi                                    System.DirectoryServices.DirectoryE...

adsisearcher                            System.DirectoryServices.DirectoryS...

Alias                                   System.Management.Automation.AliasA...

AllowEmptyCollection                    System.Management.Automation.AllowE...

AllowEmptyString                        System.Management.Automation.AllowE...

AllowNull                               System.Management.Automation.AllowN...

array                                   System.Array

bigint                                  System.Numerics.BigInteger

bool                                    System.Boolean

byte                                    System.Byte

char                                    System.Char

Ezt konkrétan a PowerShell 4.0-án futtattam.

Ezen kívül természetesen használható más típus is a .NET Frameworkből, de akkor a típus hivatkozásánál a teljes névvel kell hivatkozni, mint ahogy ezt tettük korábban a System.Collections.ArrayList típusnál. Az adott típusú (vagy más szóval osztályba tartozó) objektumot, azaz annak a típusnak egy példányát a new‑object  cmdlettel tudjuk létrehozni.

Megjegyzés

Valójában a „system” előtagot nem feltétlenül kell kiírni, mert ezt a PowerShell a típus elé biggyeszti, ha az a kifejezés, amit használtunk nem található szó szerint a típuskönyvtárban:

[12] PS C:\> $al = New-Object collections.arraylist

[13] PS C:\> $al.gettype().fullname

System.Collections.ArrayList

Ezen kívül nagyon sok olyan típus van a .NET Frameworkben, amelyek estében nem csak akkor profitálhatunk az osztály metódusaiból, ha azok egy példányát, objektumát hozzuk létre, hanem maga az osztály (típus) is rendelkezik metódusokkal, tagjellemzőkkel. Például ilyen a [math]  - matematika osztály. Ebből nem csinálunk tényleges objektumot, hanem magának a [math] típusnak hívjuk meg a metódusait, tulajdonságait. Ehhez speciális szintaxist kell alkalmazni:

[1] PS C:\> [math]::pi

3,14159265358979

 A fenti példában a [math] osztály PI tulajdonságát olvasom ki. Ehhez a (:: ) un. static member  hivatkozást kell alkalmazni.

Nézzük meg, hogy hogyan lehet egy statikus metódust meghívni:

[2] PS C:\> [math]::Pow(3,2)

9

Itt a hatványozás statikus metódust hívtam meg: 32 = 9.



Word To HTML Converter