Respostas:
Use Assembly.GetTypes
. Por exemplo:
Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
Console.WriteLine(type.FullName);
}
Eu gostaria apenas de acrescentar ao exemplo de Jon. Para obter uma referência para seu próprio conjunto, você pode usar:
Assembly myAssembly = Assembly.GetExecutingAssembly();
System.Reflection
namespace.
Se você quiser examinar uma montagem à qual não tem referência, pode usar um dos seguintes:
Assembly assembly = Assembly.ReflectionOnlyLoad(fullAssemblyName);
Assembly assembly = Assembly.ReflectionOnlyLoadFrom(fileName);
Se você pretende instanciar seu tipo assim que o encontrar:
Assembly assembly = Assembly.Load(fullAssemblyName);
Assembly assembly = Assembly.LoadFrom(fileName);
Consulte a documentação da classe Assembly para obter mais informações.
Depois de ter a referência ao Assembly
objeto, você pode usar assembly.GetTypes()
como Jon já demonstrou.
typeof
com um tipo que você sabe que está naquela montagem e, em seguida, com a Assembly
propriedade, como no meu exemplo.