begin process at 2012 02 10 02:53:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

.NET

 > 

Récupérer la méthode appelante


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer la méthode appelante

jeudi 7 juillet 2005 à 08:47:48 | Récupérer la méthode appelante

yh

Bonjour,

Je souhaiterais récupérer dans une méthode de classe les informations de la classe et de la méthode qui l'appelle.
J'ai essayé d'utiliser System.Reflection.MethodeBase mais quand je l'utilise il me donne les infos pour la méthode en cours et non celle qu'il l'avait appelé.
Exemple :
   public void maMethode() {
      ....
      MethodeAAppeler(param1);
      ...
   }
   Dans MethodeAAppeler, méthode d'une autre classe, je souhaite récupérer le nom de la méthode maMethode sans la passer en paramètre (ou du moins pas en dur mais en utilisant un objet éventuellement)

Merci
YH
jeudi 7 juillet 2005 à 09:02:52 | Re : Récupérer la méthode appelante

aogie

Bonjour,

Sans argument, je ne sais pas si c'est possible de connaître une méthode appelante. Une assembly appelante, oui mais une méthode

-- AOGie --
jeudi 7 juillet 2005 à 09:14:15 | Re : Récupérer la méthode appelante

yh

Je pourrais éventuellement passer System.Reflection.MethodBase comme paramètre.

YH
jeudi 7 juillet 2005 à 09:22:44 | Re : Récupérer la méthode appelante

aogie

Je pense qu'un passage d'argument est nécessaire sauf si quelqu'un d'autre à une idée ?

-- AOGie --
jeudi 7 juillet 2005 à 09:41:56 | Re : Récupérer la méthode appelante

yh

Je veux bien passer des paramètres mais je ne voudrais pas passer le nom en dur ni System.Reflection.GetCurrentMethod().ReflectedType.FullName et System.Reflection.GetCurrentMethod().Name mais plutot qq chose comme System.Reflection seulement pour regrouper les 2

YH
jeudi 7 juillet 2005 à 09:54:06 | Re : Récupérer la méthode appelante

aogie

A ce moment là, passe le résultat de l'appel GetCurrentMethod() pour regrouper les 2...

-- AOGie --
jeudi 7 juillet 2005 à 10:13:07 | Re : Récupérer la méthode appelante

Miiitch

Réponse acceptée !
voila comment faire avec les classes System.Diagnostic.StackTrace et StackFrame:
Ce code liste la pile, mais pour avoir juste la méthode appelante il faut ecrire st.GetFrame(1).GetMethod()

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Reflection;

namespace TestProject
{
    class Program
    {
        static void f()
        {
            StackTrace st = new StackTrace();
            int i;
            for (i = 0; i < st.FrameCount; i++)
            {
                StackFrame sf = st.GetFrame(i);
                Console.WriteLine("Frame #{0}: {1}",i, sf.GetMethod().Name);
            }

        }
        static void g()
        {
            f();
        }

        static void Main(string[] args)
        {
            g();
            Console.ReadLine();
        }
    }
}



Miiitch

jeudi 7 juillet 2005 à 10:55:11 | Re : Récupérer la méthode appelante

yh

Je te remercie ca marche nickel.

YH


Cette discussion est classée dans : récupérer, classe, méthode, appelante, mamethode


Répondre à ce message

Sujets en rapport avec ce message

Declaration dynamique d'une classe [ par Barz ] Comment par code peut-on executer une méthode d'une classe en dynamique, c'est à dire en ayant que une chaine correspondant au nom de la classe et une Enlever l'héritage d'une classe [ par JuS ] Je m'explique ...Existe-t-il une méthode permettant de ne pas avoir accès aux méthodes héritées d'une classe ? (à part la méthode de créer les mêmes m Destructeur de classe [ par jeanajaccio ] Bonjour à tous,J'ai codé une classe dont une méthode execute une boucle, je voudrais que si une condition n'est pas réalisée, sortir de la méthode et Méthode Dispose... [ par Diamondduff ] Je débute en c#, lorsque l'on utilise une classe faut-il la refermer?j'ai vu la méthode dispose() dans la classe...Test Maclasse = New test();... acti adresse ip grâce à la classe socket [ par ivanoff1 ] Bonsoir,Est-ce que quelqu'un sait comment récupérer l'adresse IP quand on utilise la classe "Socket"?En fait, quand je reçois des données avec ".Recei Thread & Exception [ par Bidou ] Bonjour,En fait j'ai une méthode qui démarre un nouveau thread (une méthode d'un autre object) et dans ce nouveau thread, il est possible qu'il se pro Invoke ou pas ? [ par crougni77 ] Salut tout le monde, mon first post, pour une petite question... voila j'ai une classe qui un méthode avec un traitement assez long. Cette méthode es Masquer une méthode héritée [ par AbyssDev ] Tout d'abord bonjour à tous.J'ai créé une classe ListePrenoms qui hérite de ArrayList.Ma classe ListePrenoms dispose d'une méthode Add qui prend en pa ajouter une méthode à une classe préexistante ... [ par LocalStone ] Hum ... Encore moi ... Euh ... Je cherche ça aussi, mais je ne trouve pas non plus ! Comment on peut faire pour ajouter une méthode à une classe qui retourné un tableau de ListViewItem d'une méthode qui se trouve dans une classe (recherche de fichier) [ par gazza ] Bonsoir a tous, j'aimerai savoir comment faire recupéré un tableau de ListViewItem dans une méthode qui se trouve dans une classe, je m'explique. c'


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,137 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales