How can I list all the classes in my current project(assembly?) using reflection? thanks.
+6
A:
Given an instance a of System.Reflection.Assembly, you can get all types in the assembly using:
var allTypes = a.GetTypes();
This will give you all types, public, internal and private.
If you want only the public types, you can use:
var publicTypes = a.GetExportedTypes();
If you are running this code from within the Assembly itself, you can get the assembly using
var a = Assembly.GetExecutingAssembly();
GetTypes and GetExportedTypes will give you all types (structs, classes, enums, interfaces etc.) so if you want only classes you will have to filter
var classes = a.GetExportedTypes().Where(t => t.IsClass);
Mark Seemann
2010-02-23 14:46:04
Thanks, that did it
ryudice
2010-02-23 17:06:49