Tulajdonság, metódus és statikus metódus operátora (., ::)

Ilyet is már mutattam sokszor, a pontról (. )-ról és a kettőspontról (:: )-ról van szó:

[42] PS I:\>[string]::compareordinal("ac", "ab")

1

[43] PS I:\>$a = new-object random

[44] PS I:\>$a.Next()

1418203324

[45] PS I:\>(get-date).Year

2008

A [42]-ben statikus metódusra hivatkoztam a (::)-tal, [44]-ben metódusra, [45]-ben tulajdonságra hivatkoztam a (.) segítségével.

A tulajdonságokat „dinamikusan” is el tudjuk érni, azaz futásidőben is eldönthetjük, hogy melyik tulajdonságot olvassuk ki:

PS C:\> $tulajdonság = "Year"

PS C:\> (Get-Date).$tulajdonság

2014

A fenti példában a „Year” tulajdonságot olvasom ki a $tulajdonság változó közbeiktatásával.

A PowerShell 4.0-tól kezdődően a metódusokat is elérhetjük dinamikusan:

PS C:\> $metódus = "AddDays"

PS C:\> (Get-Date).$metódus(15)

 

2015. január 13. 15:48:59

Ezekkel a módszerekkel nagyon tömör kódot tudunk írni, bár a hibafelderítés is nehezebb lehet.



Word To HTML Converter