Cincinnati PowerShell käyttäjäryhmä (@CincyPowershell) avaa jokainen tapaaminen uudelleen cmdlet-komentoa. Tänään oli Treffien vuoro. Monet esimerkit tehtiin sekä Get-Date , ja yksi esimerkki, joka osoittaa, että tukee vain IsLeapYear() menetelmä. Tämä sai minut ajattelemaan… (joskus kivulias asia…) ja lamppu syttyi pääni päällä. Get-Date palauttaa järjestelmän.DateTime-Luokka, ts., objekti, kun taas on viittaus luokkaan ja tarjoaa helpon pääsyn luokan staattisiin menetelmiin.
systeemi.DateTime
What ’ s with the two colons? Ne ovat PowerShellin tapa kutsua staattista menetelmää luokassa. Joten palata IsLeapYear () kysymys, se on staattinen menetelmä DateTime luokan. Pääset siihen kirjoittamalla:: IsLeapYear (2016).
Get-Date
Get-Date on cmdlet monia vaihtoehtoja, mutta oletuksena vaihtoehto on palauttaa nykyisen päivämäärän ja ajan. Ts: nyt.
luokkaa, josta esine on luotu, kutsutaan myös sen tyypiksi. Mikä on treffien ”tyyppi”?,
![]()
Esiintymät / Esineitä
Jos Get-Date palauttaa esimerkiksi, miten voisin tehdä sen ? Kaksi tapaa, käyttää yhtä staattisia menetelmiä kuten .Nyt tai .Tänään, tai luoda uusi objekti käyttäen New-Object cmdlet.
Käyttämällä staattisia menetelmiä:
$d = ::Nyt (tai vain .Nyt)
$d=: tänään (tai juuri .Nykyään)
Uusi-Objekti:
$d = Uusi-Object System.,DateTime (tai vain DateTime)
ainutlaatuinen näkökohta käyttämällä New-Object kanssa DateTime on, että saat takaisin objektin oletusarvojen vuosi, kuukausi, päivä, jne. eikä tänään. Varsinainen tulos on ”maanantai 01.1.0001 klo 12.00”.
![]()
Jos haluat luoda tietyn päivämäärän tai kellonajan, käytä yksi luokan konstruktorit. (Katso tarkemmat tiedot artikkelin lopussa olevasta DateTime-rakenteen linkistä.)
![]()
Siellä on kiva kirjoittaa ylös noin luokat, instanssit, statiikka täällä päässä Don Jones.,
ja just for fun… and only in PowerShell 5,0
Who needs ? Vain kutsua staattiset menetelmät pois tahansa DateTime objekti! Seuraavat kaikki tuottavat saman tuloksen, pitäen mielessä, että Get-Date lisää ylimääräiset yleiskustannukset hakea nykyinen päivämäärä, ja sitten sivuuttaa sen.
(Hae-Päivämäärä)::IsLeapYear(2016)
$d = Get-Date
$d::IsLeapYear(2016)$d = ::Nyt
$d::IsLeapYear(2016)
Entä PowerShell 3.0?
esimerkkejä 5.0 ei toimi 3.0. Meidän täytyy pyytää, ”luokka”, eli se on Tyyppi.,
(Get-Date).GetType()::IsLeapYear(2016)
$d = Get-Date
$d.GetType()::IsLeapYear(2016)$d = ::Nyt
$d.GetType()::IsLeapYear(2016)
Entä PowerShell 4.0?
Beats me! (Ei ole kopiota edessäni juuri nyt.)
Tutustu Staattiset Metodit ja Ominaisuudet Kohteen
Get-Member on –Staattinen parametri näyttää staattisia menetelmiä ja ominaisuuksia esineen:
Get-Date | Get-Member-Staattinen
![]()
Lisää Hauskaa Kanssa Staattisia Menetelmiä
Eniten .,Nettoluokkia ei paljasteta Powershellissa cmdleteiksi.
esimerkiksi, saatat tarvita uuden GUID…
::NewGuid() palauttaa uuden GUID kohde.
: NewGuid().toString () palauttaa uuden Guidin merkkijonona.
![]()
entä Matematiikka?
Tarvitsetko PI: n arvon?
::PI (tai vain ::PI) on noin tulokseksi 3,14159265358979 mukaan PowerShell ja .Net.
entä neliöjuuri 2?
::Sqrt(2) (katsotaanpa… luulen, että se on noin 1.4142135623731.)
Ja tietenkin, Sini 45 astetta:
::sin(0.,785398163397448) (radiaaneina tietenkin) Oh, noin 0,707106781186547.
Ja vähän muuntaa astetta Radiaaneina:
::sin( ::pi/180*45 )
lisätietoja siitä, mitä Matematiikka luokka voi tehdä, nähdä, Matematiikka linkki lopussa artikkeli. Tai, odota sitä, käytä PowerShell:
| Get-Member-Staattinen
Bottom line… jos C# kaverit voi tehdä sen, niin voitte!
Joten nyt tiedät… 2016 on karkausvuosi! Ja ainakin tusina eri tapaa!
(ja nopeasti 5 minuutin artiklan kesti yli tunnin…)
Käyttämällä Staattisia Luokkia ja Menetelmiä
Järjestelmä.Math Class
Leave a Reply