Le Groupe D’utilisateurs Cincinnati PowerShell (@CincyPowershell) ouvre chaque réunion avec un examen d’une applet de commande. Ce soir, C’est au tour de Get-Date. De nombreux exemples ont été réalisés avec Get-Date et, avec un exemple montrant que ne prend en charge que la méthode IsLeapYear (). Cela m’a fait penser… (parfois pénible…) et l’ampoule allumée au dessus de ma tête. Get-Date renvoie une instance du système.Classe DateTime, c’est à dire, un objet, while est une référence à la classe et fournit un accès facile aux méthodes statiques de la classe.
Système.DateTime
Qu’en est-il des deux deux-points? Ils sont le moyen de PowerShell d’appeler une méthode statique sur une classe. Donc, pour revenir à la question IsLeapYear (), c’est une méthode statique de la classe DateTime. Pour y accéder, nous écrivons:: IsLeapYear(2016).
Get-Date
Get-Date est une applet de commande avec de nombreuses options, mais l’option par défaut est de renvoyer la date et l’heure actuelles. I. e. ::Maintenant.
la classe à partir de laquelle un objet a été créé est également appelée son type. Alors, quel est le « type » d’une date?,
les Instances / Objets
Si Get-Date renvoie une instance, comment pourrais-je faire avec ? De deux façons, utilisez l’une des méthodes statiques comme .Maintenant ou .Aujourd’hui, ou créez un nouvel objet à l’aide de L’applet de commande New-Object.
en Utilisant les méthodes statiques:
$d = ::Maintenant (ou juste .Maintenant)
$d = ::aujourd’Hui (ou juste .Aujourd’hui)
Utilisation de la Nouvelle-Objet:
$d = New-Object System.,DateTime (ou simplement DateTime)
l’aspect unique de l’utilisation de New-Object avec DateTime est que vous récupérez un objet avec des valeurs par défaut pour l’année, le mois, le jour, etc. et non pas la date d’aujourd’hui. Le résultat réel est « lundi, janvier 01, 0001 12: 00: 00 AM ».
Si vous souhaitez créer une certaine date ou de l’heure, utilisez l’un des constructeurs de la classe. (Voir le lien structure DateTime à la fin de l’article pour plus de détails.)
Il y a une belle écriture sur les classes, les instances, la statique ici de Don Jones.,
et juste pour le plaisir… et seulement dans PowerShell 5.0
qui a besoin ? Appelez simplement les méthodes statiques de n’importe quel objet DateTime! Les éléments suivants produisent tous le même résultat, en gardant à l’esprit que Get-Date ajoute la surcharge supplémentaire de récupération de la date actuelle, puis de l’ignorer.
(Get-Date)::IsLeapYear(2016)
$d = Get-Date
$db::IsLeapYear(2016)$d = ::Maintenant
$db::IsLeapYear(2016)
Qu’en PowerShell 3.0?
Les exemples pour 5.0 ne fonctionnent pas avec 3.0. Nous devons demander la « classe », c’est-à-dire son Type.,
(Get-Date).GetType()::IsLeapYear(2016)
$d = Get-Date
d D. GetType()::IsLeapYear(2016)$d = ::Now
d D. GetType()::IsLeapYear(2016)
Qu’en est-il de PowerShell 4.0?
me bat! (Ne pas avoir une copie en face de moi en ce moment.)
Découvrez les Méthodes Statiques et les Propriétés d’un Objet
Get-member a un paramètre Statique pour afficher les méthodes statiques et les propriétés d’un objet:
Get-Date | Get-member -Statique
Plus de Plaisir Avec des Méthodes Statiques
la Plupart .,Les classes Net ne sont pas exposées dans PowerShell en tant que cmdlets.
par exemple, vous pourriez avoir besoin d’un nouveau GUID <
:: NewGuid() retournera un nouvel objet GUID.
:: NewGuid().toString () retournera un nouveau GUID sous forme de chaîne.
que diriez-vous les Maths?
besoin de la valeur de PI?
::PI (ou simplement:: PI) il s’agit de 3.14159265358979 selon PowerShell et .Net.
Que diriez-vous de la racine carrée de 2?
:: Sqrt(2) (Voyons voir I je pense qu’il s’agit de 1.4142135623731.)
Et bien sûr, le Sinus de 45 degrés:
::sin(0.,785398163397448) (en Radians bien sûr) Oh, environ 0.707106781186547.
et faire un peu de conversion de degrés en Radians:
:: sin( ::pi/180*45)
pour plus de ce que la classe de mathématiques peut faire, voir le lien mathématique à la fin de l’article. Ou, attendez-Le, utilisez PowerShell: <| p>
/Get-Member-Static
Bottom line if si les gars C# peuvent le faire, alors vous aussi!
alors maintenant vous savez 2 2016 est une année bissextile! Et au moins une douzaine de façons différentes!
(et un article rapide de 5 minutes a pris plus d’une heure))
en utilisant des Classes et des méthodes statiques
Système.La Classe de mathématiques
Leave a Reply