Question Connaître le nom de la fonction utilisée
- Jinjo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 13 ans 6 mois #12631
par Jinjo
Connaître le nom de la fonction utilisée a été créé par Jinjo
Le code suivant
[code:1]
Function Mere {
Write-Host \"Fonction courante : \"$MyInvocation.MyCommand
Enfant #Appel de la fonction Enfant
}
Function Enfant {
Write-Host \"Fonction courante : \"$MyInvocation.MyCommand
Write-Host \"Fonction mère : ???\"
}
#Main
Mere #Appel de la fonction Mere
[/code:1]
retourne le résultat suivant
[code:1]Fonction courante : Parent
Fonction courante : Enfant
Fonction mère : ???[/code:1]
J'aimerais qu'il retourne le nom de la fonction appelant la fonction Enfant, soit
le résultat suivant
[code:1]Fonction courante : Parent
Fonction courante : Enfant
Fonction parente : Parent[/code:1]
Est-ce possible sans passer la variable $MyInvocation.MyCommand en paramètre de la fonction Enfant ?
Merci d'avance pour votre aide.
[code:1]
Function Mere {
Write-Host \"Fonction courante : \"$MyInvocation.MyCommand
Enfant #Appel de la fonction Enfant
}
Function Enfant {
Write-Host \"Fonction courante : \"$MyInvocation.MyCommand
Write-Host \"Fonction mère : ???\"
}
#Main
Mere #Appel de la fonction Mere
[/code:1]
retourne le résultat suivant
[code:1]Fonction courante : Parent
Fonction courante : Enfant
Fonction mère : ???[/code:1]
J'aimerais qu'il retourne le nom de la fonction appelant la fonction Enfant, soit
le résultat suivant
[code:1]Fonction courante : Parent
Fonction courante : Enfant
Fonction parente : Parent[/code:1]
Est-ce possible sans passer la variable $MyInvocation.MyCommand en paramètre de la fonction Enfant ?
Merci d'avance pour votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 6 mois #12632
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Connaître le nom de la fonction utilisée
Salut,
Jinjo écrit:
poshcode.org/3470
et le post associé :
huddledmasses.org/what-scope-am-i-in/
Voi aussi :
blogs.msdn.com/b/powershell/archive/2007...pe-of-variables.aspx
Autre approche plus simple (pour PS v1 et v2) :
projets.developpez.com/projects/add-lib/...ackageDebugTools.ps1
[code:1]
Write-Debug \"Pile d'appel : $(ParseStack $(Get-CallStack))\"
[/code:1]
Jinjo écrit:
je pense, voir ce code :Est-ce possible sans passer la variable $MyInvocation.MyCommand en paramètre de la fonction Enfant ?
poshcode.org/3470
et le post associé :
huddledmasses.org/what-scope-am-i-in/
Voi aussi :
blogs.msdn.com/b/powershell/archive/2007...pe-of-variables.aspx
Autre approche plus simple (pour PS v1 et v2) :
projets.developpez.com/projects/add-lib/...ackageDebugTools.ps1
[code:1]
Write-Debug \"Pile d'appel : $(ParseStack $(Get-CallStack))\"
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Jinjo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 13 ans 6 mois #12635
par Jinjo
Réponse de Jinjo sur le sujet Re:Connaître le nom de la fonction utilisée
Merci Laurent pour toutes ces sources.
Je m'en suis sorti avec l'utilisation du Cmdlet Get-PSCallStack.
Le code :
[code:1]
Function Mere {
Write-Host \"Fonction courante : \"$MyInvocation.MyCommand
Enfant #Appel de la fonction Enfant
}
Function Enfant {
Write-Host \"Fonction courante : \"$MyInvocation.MyCommand
Write-Host \"Fonction mère : \"((Get-PSCallStack)[1]).command
}
#Main
Mere #Appel de la fonction Mere
[/code:1]
Retourne :
[code:1]
Fonction courante : Mere
Fonction courante : Enfant
Fonction mère : Mere
[/code:1]
Je m'en suis sorti avec l'utilisation du Cmdlet Get-PSCallStack.
Le code :
[code:1]
Function Mere {
Write-Host \"Fonction courante : \"$MyInvocation.MyCommand
Enfant #Appel de la fonction Enfant
}
Function Enfant {
Write-Host \"Fonction courante : \"$MyInvocation.MyCommand
Write-Host \"Fonction mère : \"((Get-PSCallStack)[1]).command
}
#Main
Mere #Appel de la fonction Mere
[/code:1]
Retourne :
[code:1]
Fonction courante : Mere
Fonction courante : Enfant
Fonction mère : Mere
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 6 mois #12636
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Connaître le nom de la fonction utilisée
Jinjo écrit:
Il manque un cmdlet de formatage des informations renvoyées par Get-PSCallStack.
Pour ce cas oui. Mais si tu veux afficher l'intégralité de la pile d'appel, cela demande pas mal d'efforts.Je m'en suis sorti avec l'utilisation du Cmdlet Get-PSCallStack.
Il manque un cmdlet de formatage des informations renvoyées par Get-PSCallStack.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.093 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- Connaître le nom de la fonction utilisée