Salut, lors d'un projet que je fais en ce moment sous XNA, j'ai eu le même soucis, je te file donc ma solution :
il faut que tu passes par la reflexion; je m'explique :
Tu charges ton assembly comme ceci :
///
<summary>/// Load one assembly///</summary>///<param name="assemblyToLoad">Name of the assembly</param>///<returns>The loaded assembly</returns>staticpublicAssembly LoadAssembly(string assemblyToLoad){
returnAssembly.LoadFrom(assemblyToLoad);}
ensuite tu récupère chaque type de l'assembly :
///
<summary>/// Gets the type of the specified name in the specified assembly///</summary>///<param name="assembly">Name of the assembly to load</param>///<param name="name">Name of the type to get</param>///<returns>The type</returns>staticpublicType[] GetTypes(Assembly assembly){
return assembly.GetTypes();
}
Maintenant que tu as tous les types de ton exe, on va aller chercher les méthodes :
staticpublicDictionary<string, MethodInfo[]> GetMethodsByType(Type[] types)
{
Dictionary<string, MethodInfo[]> result = new Dictionary<string, MethodInfo[]> ();
foreach(Type t in types)
{
result.Add(t.Name, t.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
}
return result;
}
Et voila maintenant ben tu peux afficher chaque type et chaque méthode et voir ce que tu peux faire avec...
Dis le moi si tu veux un exemple.
J'ai essayé cette technique sur une dll C# et VB.NET mais je suppose qu'elle marche pour tous type de langages...