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

C# Discussion :

[2.0][C#] Nom de la méthode appelante


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 17
    Par défaut [2.0][C#] Nom de la méthode appelante
    Bonjour,

    J'essaye d'affcher dans mes traces pour chacune de mes méthodes la méthode qui l'a appellée de manière générique (c'est pour extraire une sorte d'arbre des dépendances entre méthodes). Je voudrais qqc du genre "nom de la methode appellante" > "méthode actuelle".

    Ainsi dans mon exemple suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function a(String sS1) {
        b(sS1);
        c(sS1);
    }
     
     
    function b(String sS1) {
    // ligne magique de log
    }
     
     
    function c(String sS1) {
    // ligne magique de log
        d(sS1);
    }
     
    function d(String sS1) {
    // ligne magique de log
    }
    je voudrais :

    a > b
    a > c
    c > d
    J'ai cru comprendre qu'il fallait que j'utilise la reflection mais je m'en sort pas. Quelqu'un a t'il une idée ou déjà eu le même besoin que moi ?

    Merci,

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Par défaut
    Perso j'ai rien compris ... peux tu etre un poil plus clair
    (pour avoir le nom des méthodes, les sujets ont déjà ete traités la semaine derniere)

    bon dev

  3. #3
    Membre averti
    Inscrit en
    Janvier 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 17
    Par défaut
    Je viens de trouver la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StackTrace st = new StackTrace();StackFrame sf1 = st.GetFrame(0);StackFrame sf2 = st.GetFrame(1);TraceHandler.WriteTrace(sf2.GetMethod().DeclaringType.FullName + "." + sf2.GetMethod().Name + " > " + sf1.GetMethod().DeclaringType.FullName + "." + sf1.GetMethod().Name);
    Merci

  4. #4
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Salut .

    Juste un truc : test ta façon de faire en mode Release (si tu l'as) parce qu'il se peut que ça ne passe pas.

  5. #5
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Citation Envoyé par dev01
    Salut .

    Juste un truc : test ta façon de faire en mode Release (si tu l'as) parce qu'il se peut que ça ne passe pas.

    Pourquoi ca ne fonctionnerais pas en Release

  6. #6
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Par défaut
    Citation Envoyé par mehdi_tn
    Pourquoi ca ne fonctionnerais pas en Release
    Peut etre que le code release ne garde pas le nom des methodes tels qu'ils sont dans le code. Mais j'en sais rien en fait

  7. #7
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Citation Envoyé par Amnesyc
    Peut etre que le code release ne garde pas le nom des methodes tels qu'ils sont dans le code. Mais j'en sais rien en fait
    Ah ouais ? Et quand t'ajoutes une référence à une dll, les noms des méthodes dans cette assembly, ils sont masqués ?

  8. #8
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par mehdi_tn
    Pourquoi ca ne fonctionnerais pas en Release
    Je pensais qu'il se pourrait que pour optimisation, la stacktrace ne soit pas gardé mais ce n'est pas le cas .

  9. #9
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Citation Envoyé par dev01
    Salut .

    Juste un truc : test ta façon de faire en mode Release (si tu l'as) parce qu'il se peut que ça ne passe pas.
    Je viens de tester et ça fonctionne en Release.

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

Discussions similaires

  1. taille max du nom d'un champ
    Par hna dans le forum Paradox
    Réponses: 2
    Dernier message: 28/07/2002, 02h40
  2. Cherche Nom des touches du clavier
    Par juan64 dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/07/2002, 19h11
  3. nom de fichier et variables d'environnement
    Par joebarthib dans le forum Langage
    Réponses: 2
    Dernier message: 18/07/2002, 15h21
  4. Réponses: 2
    Dernier message: 26/06/2002, 13h16
  5. Connaitre le nom des imprimantes
    Par bastien dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/06/2002, 16h36

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