
Envoyé par
Laurent Dardenne
Vous est-il possible de localiser la méthode d'extension
Developpez.Dotnet.DateExtensions.Previous ?
1 2 3 4 5
|
#ok
[Developpez.Dotnet.DateExtensions]::Previous((Get-Date),"Sunday")
#erreur
[Developpez.Dotnet.DateExtensions]::Previous((Get-Date),"Dimanche") |
Euh... y'a rien à localiser, la méthode ne travaille que sur des dates... le paramètre dayOfWeek est un enum, pas une chaine. Sunday fait partie de l'énumération DayOfWeek, pas Dimanche... Si j'en crois ton code, en PowerShell les enum s'écrivent sous forme de chaine ? Si c'est ça j'y peux pas grand chose...

Envoyé par
Laurent Dardenne
Une autre remarque concernant la documentation des méthodes Before et Ago de la même classe, on peut passer un interval négatif ce qui fait la date retournée peut être dans le futur :
1 2 3 4 5 6 7 8 9
|
#Sous PS on voit les méthodes d'extensions comme des méthodes statique
Get-Date;[Developpez.Dotnet.DateExtensions]::Ago(([TimeSpan]"-1.0:0:0"))
vendredi 21 mai 2010 18:24:29
samedi 22 mai 2010 18:24:29
Get-Date;[Developpez.Dotnet.DateExtensions]::before(([TimeSpan]"-1.0:0:0"),(get-date))
vendredi 21 mai 2010 18:25:08
samedi 22 mai 2010 18:25:08 |
Ben en même temps, tu dis "il y a 1 jour", pas "il y a -1 jour"... donc ça n'a pas beaucoup de sens d'appeler Ago avec une durée négative. Qu'est-ce que tu voudrais qu'on dise dans la doc ?
De toutes façons, je pense que les méthodes de cette classe ont un intérêt limité en PowerShell, vu que c'est des méthodes d'extension. C'est prévu pour s'utiliser comme ça :
var fiveMinutesAgo = 5.Minutes().Ago();
Si tu dois l'utiliser sous forme de méthode statique :
var fiveMinutesAgo = DateExtensions.Ago(DateTime.Now, DateExtensions.Minutes(5));
Ca n'a plus aucun intérêt... autant écrire directement :
var fiveMinutesAgo = DateTime.Now.AddMinutes(-5);

Envoyé par
Laurent Dardenne
Pour ces méthodes le paramètrage via une date formatée telle que 21/05/2010 ou un nombre de jours -7 serait appréciable.
C'est à dire ? la méthode prend une date, tu voudrais qu'elle prenne une chaine ? Ca pour le coup ce n'est pas envisageable : sinon la méthode d'extension deviendrait disponible pour toutes les chaines, même quand ça n'a aucun sens... En fait j'ai l'impression que ton besoin est spécifique à PowerShell, en C# ce ne serait pas du tout une bonne chose.
Partager