Je kan in C# met de klasse Assembly de huidige (in uitvoer zijnde) Assembly opvragen, maar stel dat je het programma als volgt compileert:
Code: Selecteer alles
csc /target:winexe /reference:B.dll /reference:C.dll A.cs
Code: Selecteer alles
csc /target:winexe /reference:B.dll /reference:C.dll A.cs
Code: Selecteer alles
Assembly compiledAssembly = Assembly.GetEntryAssembly();
AssemblyName[] referencedAssemblies = compiledAssembly.GetReferencedAssemblies();
foreach(AssemblyName name in referencedAssemblies)
{
Assembly asm = Assembly.Load(name);
// Doe je ding, bijvoorbeeld:
Type[] types = asm.GetTypes();
foreach(Type t in types)
Console.Write(t.ToString());
}