Questa
domanda posta sul forum mi ha incuriosito molto, ovvero il nostro amico chiedeva come poter individuare gli assembly e i metodi richiamati all'interno di una dll o una file exe.
Come al solito per queste cose viene in aiuto la reflection e la risposta che gli ho dato è la seguente e la pubblico anche per altri che potrebbero avere la stessa necessità.
System.Reflection.Assembly myAssembly = Assembly.LoadFile(path);//path è il percorso della dll o file exe
//Recupero tutti i moduli che vengono chiamati nell'applicazione
foreach (Module module in myAssembly.GetLoadedModules())
{
Console.WriteLine("Modulo:{0}",module.Name);
Type[] myType = module.FindTypes(Module.FilterTypeNameIgnoreCase, "*");
foreach (Type type in myType)
{
//Recuoeri tutti i metodi dell'applicazione
MethodInfo[] listMethod = type.GetMethods();
foreach (MethodInfo info in listMethod)
{
Console.WriteLine("--->Metodo:{0}",info.Name);
}
}
}