IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Récupérer le nom de la fonction courante


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 77
    Points : 61
    Points
    61
    Par défaut Récupérer le nom de la fonction courante
    Bonjour tout le monde,

    Quand je suis dans ma fonction, je voudrais récupérer le nom de celle-ci et pouvoir l'envoyer à une autre fonction en string. Y a-t-il moyen de récupérer celà? Merci d'avance

    Et pour vous ennuyer encore un peu plus je me demandais si il était possible de récupérer le nom d'une fonction appelante?

    Merci

    Bonne journée

    Oolon

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    J'imagine que ca doit pouvoir se faire avec la reflection et la classe memberinfo mais je n'ai jamais essayé

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 235
    Points : 314
    Points
    314
    Par défaut
    En ce qui concerne la fonction appelante, voici un petit exemple :
    Il faut utilisé la classe Stack, comme son nom l'indique c est une classe statique qui te permet de savoir tout les appels.

    chaque appel est une StackFrame.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim st As New System.Diagnostics.StackTrace(False)
    Dim str As New System.Text.StringBuilder
    For Each frame As System.Diagnostics.StackFrame In st.GetFrames()
           str.Append(frame.GetMethod.Name & " <- ")
    Next

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 77
    Points : 61
    Points
    61
    Par défaut
    Merci beaucoup de vous aides, voici ce que ca donne chez moi pour de prochaines personnes qui se poseraient la question :


    Fonction en cours:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Reflection.MethodBase.GetCurrentMethod().Name
    Fonction appelante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim st As StackTrace = New System.Diagnostics.StackTrace(False)
     
    Dim sf As StackFrame = New System.Diagnostics.StackFrame()
     
    Dim NomMethode As String = st.GetFrame(1).GetMethod().Name

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 79

    Informations forums :
    Inscription : Janvier 2007
    Messages : 201
    Points : 154
    Points
    154
    Par défaut
    Merci, je me posais la question et voila la réponse.
    Mais dans ton code, à quoi sert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim sf As StackFrame = New System.Diagnostics.StackFrame()

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 77
    Points : 61
    Points
    61
    Par défaut
    Ici rien en effet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6]Récupérer le nom de la fonction
    Par kerf71 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 16/08/2006, 18h02
  2. Récupérer le nom de la page courante
    Par webdisciple dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/05/2006, 09h42
  3. [C#] Récupérer le nom de la fonction courante
    Par lordkoko dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/11/2005, 11h16
  4. Récupérer le nom de la base courante
    Par Mr N. dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/10/2004, 11h34
  5. Réponses: 3
    Dernier message: 07/05/2004, 10h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo