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

Framework .NET Discussion :

[C#, .NET2.0] Chercher le nom des méthodes contenant une chaine de caractère


Sujet :

Framework .NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 26
    Points : 25
    Points
    25
    Par défaut [C#, .NET2.0] Chercher le nom des méthodes contenant une chaine de caractère
    Bonjour,

    Je viens vers vous pour demander une aide (qui peut avoir juste l'apparence de pistes si vous voulez^^) pour m'aider à résoudre un petit souci.

    La problématique est la suivante :

    Dans notre projet actuel, se trouvent a peu près 1000 procédures stockées, ce projet est tellement vieux et tellement passé de main en main que je

    compte trouver les procédures qui ne sont plus utilisées à la fois par oracle et par l'application en elle meme. (A noter que j'ai tous les code sources de l'application donc pas besoin d'aller chercher dans les dll)

    Au niveau de la couche métier :

    Pour chaque classe devant appeler des procédures, les procédures sont déclarées au niveau de la classe en tant que chaine constante privée.
    Cette constante est ensuite utilisée au sein de la méthode appelante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class maclasse{
     
    private const string maprocedure = "NomDeLaProcedure";
     
    public void ListerTousLesEnregistrement(ref DataSet)
    {
    ...
    cmd.CommandText = maprocedure ; 
    ...
    }
     
     
    }
    Sauf que parfois la convention de nommage n'est pas respectée et on se retrouve avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    public class maclasse{
     
    public void ListerTousLesEnregistrement(ref DataSet)
    {
    ...
    cmd.CommandText = "NomDeLaProcedure"; 
    ...
    }
     
     
    }
    Une idée d'application:

    Etant donné le nombre de procédures à vérifier, j'ai moyennement envie de me farcir la vérification à la main. Donc j'avais pensé à un petit outil qui me retrouverait les endroits où sont utilisées ces procédures.

    Le fonctionnement serait en gros le suivant :
    ->Récupération du nom de la procédure a trouver
    ->Interrogation de Oracle pour savoir si cette procedure est utilisée par un autre objet appartenant à Oracle
    ->Fouille de tous les fichiers .cs se trouvant dans un répertoire précisé a l'initialisation

    Sauf que c'est à ce niveau là que je coince.
    en effet il me sera facile de trouver la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private const string maprocedure = "NomDeLaProcedure"
    Puis à partir de cette ligne je pourrai peut-être trouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.CommandText = maprocedure ;
    Mais une fois que je suis la, comment faire pour : Trouver la méthode qui contient la ligne ?
    (Trouver ensuite l'utilisation de cette méthode dans les fichiers cs ne sera pas trop difficile, c'est vraiment sur cet élément charnière que je bloque)

    Mon idée très moche je trouve serait de positionner le curseur dans le fichier a ce niveau là puis de remonter jusqu'au premier mot clé trouvé de type "public,internal,protected..."
    Mais je me demande s'il n'y a pas un moyen plus sioux...

    Donc si vous avez des idées...

    Je vous remercie par avance.

  2. #2
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Eh bien tu peux éventuellement commencer par chercher toutes occurences de cmd.CommandText par VisualStudio.. Ctrl+F et Chercher "Dans solution"... ça t'afficheras la liste des lignes.
    Ca peut aider à faire un premier tri.
    May the Troll, be with you
    (Que le troll soit avec toi)

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/04/2012, 14h44
  2. [Tableaux] Extraire des mots d'une chaine de caractères
    Par pratiquement dans le forum Langage
    Réponses: 5
    Dernier message: 24/01/2008, 09h20
  3. extraire des entiers d'une chaine de caractère
    Par 18Marie dans le forum Langage
    Réponses: 9
    Dernier message: 10/08/2006, 11h17
  4. [MySQL] extraire des nombre d'une chaine de caractères et addition
    Par Yotho dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/03/2006, 16h54
  5. Réponses: 9
    Dernier message: 17/01/2003, 11h45

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