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#] Récupérer le nom de la classe, de la méthode, ...


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [2.0][C#] Récupérer le nom de la classe, de la méthode, ...
    Bonjour à tous,

    dans une messagebox d'affichage d'erreur, j'aimerai récupérer 'automatiquement' le nom de la classe et de la méthode courante (dans lesquelles se trouve l'appel de l'affichage de la messagebox).
    Est-ce possible?

    Eric.

  2. #2
    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
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut .

    le nom de la classe c'est symple tu fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    string c = this.GetType().Name
    pour la méthode je sais pas .

  3. #3
    Membre habitué Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 183
    Points
    183
    Par défaut
    pour la methode courante procede ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.Diagnostics.StackFrame sf = new System.Diagnostics.StackFrame();
    string methodName = sf.GetMethod().Name;

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci à vous dev01 et del-dongo pour votre aide cela fonctionne bien.

  5. #5
    Membre émérite

    Inscrit en
    Novembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2006
    Messages : 128
    Points : 2 624
    Points
    2 624
    Par défaut
    Pour la classe, ce n'est pas suffisant de faire this.GetType().Name
    En effet si tu as une classe BaseClass et une class Class1 qui hérite de BaseClass, que tu as une instance de Class1 class1 et que dans la classe BaseClass, tu veux savoir quel est le nom de la classe dans laquelle tu es (BaseClass), GetType().Name te retourne "Class1". Aussi, dans le cas d'une méthode surchargée dans laquelle tu appelles la méthode de Base, tu ne sais pas quelle est celle qui t'a retourné ton erreur.
    Sinon, pour la méthode, tu peux aussi utiliser MethodBase.GetCurrentMethod().Name ou alors utiliser StackTrace

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

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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