Accueil | Tutoriaux | .NET | Charger dynamiquement des assembly sous .NET

Charger dynamiquement des assembly sous .NET

Envoyer Imprimer PDF

Ce tutorial va vous motrer comment charger dynamiquement des assembly .NET et d'exécuter leurs fonctions. 

Pré-requis

  • Visual Basic 2005 Express Edition
  • .NET Framework 2.0

I-Création de la DLL

Nous allons commencer par créer la DLL source. Elle contiendra une classe SayHello et une méthode DireBonjour. Ouvrez Visual Basic 2005.Ensuite,sélectionnez l'option "Bibliothèque de classes" et nommez-la "HelloWorld". Renommez "Class1.vb" en "SayHello.vb" et ouvrez ce fichier.

Maintenant tapez ceci:

Class SayHello

   Function DireBonjour()

         Return "Bonjour tout le monde"

   End Function

End Class

 

Sauvegardez le projet,compilez-le et copiez la DLL obtenue dans le répertoire C:\

 

II-Création du "consommateur de DLL"

Ici,nous allons créer l'application qui va utiliser dynamiquement la DLL crée. Créez un nouveau projet,choisissez "Application console". Nommez le projet comme vous le souhaitez (Je l'ai appelé ConsoDll) Ouvrez le fichier qui se présente dans l'explorateur de projets. Ensuite,tapez ce code:

Imports System.Reflection
Imports System

Sub Main()
   Dim TYP As TypeDim index, compte As Integer

    Dim asm As Assembly
   Dim obj as Object

   'On charge l'assembly HelloWorld.dll contenue dans C:\(vous mettez ici le chemin de l'assembly

    asm = Assembly.LoadFrom("C:\HelloWorld.dll")
  
   'On obtient le type d'application (nom_namespace.nom_classe)

   TYP = asm.GetType("HelloWorld.SayHello")
  
   'On créé une instance du type

   obj = Activator.CreateInstance(TYP)
  
   'On exécute la méthode DireBonjour

   Console.WriteLine(obj.DireBonjour())
End Sub

Vous pouvez maintenant compiler et exécuter votre programme et admirer le résultat!

III-Explication du code

Dans les deux premières lignes,on importe les packages System et System.Reflection,nécessaires à l'exécution. A la septième ligne,on charge l'assembly que nous venions de créer au chapitre 1. Ensuite,on obtient le type(enfin la classe).Il contient le namespace(donc le nom du projet) et la classe contenue dans l'assembly. Puis on créé l'instance(un objet) de nore type,et enfin on exécute la méthode.

Rétrolien(0)

Adresse URI pour un rétrolien sur cet article

Commentaires (0)

Flux RSS pour les commentaires

Ecrivez un commentaire

Réduire l'éditeur | Agrandir l'éditeur

busy
 

Syndication

Tag

Requires Flash Player 9 or better.

Publicités


Espace sécurisé



Les plus lus