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

ASP.NET Discussion :

Parcourir une dll


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Par défaut Parcourir une dll
    Bonjour à tous,

    J'ai 2 projet en parrallèle (un site web et une application lourde) qui utilisent la meme DLL. Tous ces projets ont été développé par nos soins, donc pas de soucis de droit.

    Dans un autre projet, je voudrais parcourir cette DLL, c'est à dire pouvoir lister les méthodes qu'elle contient, comme le fait visual studio avec l'intelli sense (par exemple). Mais voila, comment faire ??????????
    Je pensais trouver la description de la DLL dans un fichier xml quelconque, mais non.
    Attention, je ne veut pas non plus réinventer la roue de l'intellisense, juste afifcher les méthode et les paramètres de ma DLL.

    quelqu'un aurai-t-il une idée par hasard ?

    Merci d'avance


  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Ce méchanisme s'apelle la Reflection.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Par défaut
    nickel, c'est exactement ce que je cherche

    ce site a l'air de parler de la chose avec clareté ..
    http://emerica.developpez.com/dotnet...tion/vbnet/#LA


    merci bien

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Si c'est une DLL .NET, c'est assez simple :

    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
     
    using System.Reflection;
     
    ...
     
    Assembly asm = Assembly.LoadFile("le_chemin_de_la.dll");
     
    // Récupérer les types déclarés dans l'assembly
    Type[] types = asm.GetTypes();
     
    // Récupérer un type en particulier
    Type t = asm.GetType("NomDuType");
     
    // Récupérer les méthodes de ce type :
    MethodInfo methods = t.GetMethods();
    et ainsi de suite... je te suggère de jeter un oeil à la doc de la classe System.Type et du namespace System.Reflection, il y a toutes les infos dont tu peux avoir besoin.

    Par contre si c'est une DLL native c'est une autre histoire...

    EDIT : désolé, j'ai mis le code en C#, mais bon, je suppose que tu sauras traduire en VB, c'est les mêmes classes...

  5. #5
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bon,voilà le code C# converti en VB.NET:

    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
    Import System.Reflection;
     
    ...
     
    Dim asm As Assembly = Assembly.LoadFile("le_chemin_de_la.dll");
     
    ' Récupérer les types déclarés dans l'assembly
    Dim types As Type() = asm.GetTypes()
     
    ' Récupérer un type en particulier
    Dim t As Type  = asm.GetType("NomDuType")
     
    ' Récupérer les méthodes de ce type :
    Dim methods As MethodInfo = t.GetMethods()
    

Discussions similaires

  1. Extraire les icônes d'une DLL
    Par Globus dans le forum MFC
    Réponses: 6
    Dernier message: 13/09/2002, 13h44
  2. pb de récup de handle à partir d'une dll
    Par yokito dans le forum Langage
    Réponses: 2
    Dernier message: 20/08/2002, 12h29
  3. Utilisation d'une dll écrite en delphi 5 dans VB6
    Par Jean-Louis dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2002, 09h19
  4. Declarer une dll Delphi ?
    Par DelphiCool dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 10h07
  5. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 21h07

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