Je vais vous présenter ici comment charger des assembly dynamiquement à l'aide de VB 2005.
J'ai développé ce projet à l'aide de VB 2005 Express Edition.
Nous avons juste besoin du .NET Framework 2.0
Nous allons commencer par créer la DLL source. Elle contiendra une classe SayHello et une méthode DireBonjour.
Class SayHello Function DireBonjour() Return "Bonjour tout le monde" End Function End Class
Ici,nous allons créer l'application qui va utiliser dynamiquement la DLL créée.
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!
Dans les deux premières lignes,on importe les packages System et System.Reflection,nécessaires à l'exécution.
Ensuite, 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.
Appeler une DLL dynamique n'est pas si dur que ça,et je ne fais que reprendre un article qui existait sur MSDN.
J'espère que ce tutorial vous sera utile.
Et surtout,je vous souhaite un bon développement!