Suponiendo que usted ha cargado su ensamblaje a thisAsm (en este ex estoy usando el conjunto de la ejecución),
Esto le dará todas las clases no abstractas:
Assembly thisAsm = Assembly.GetExecutingAssembly();
List<Type> types = thisAsm.GetTypes().Where(t => t.IsClass && !t.IsAbstract).ToList();
Y esto le conseguirá a todos clas ses que implementa una interfaz específica.
(Ej. Si usted necesita para obtener sólo las clases que implementan IYourInterface, a continuación)
Assembly thisAsm = Assembly.GetExecutingAssembly();
List<Type> types = thisAsm.GetTypes().Where
(t => ((typeof(IYourInterface).IsAssignableFrom(t)
&& t.IsClass && !t.IsAbstract))).ToList();
Una vez que haya esta lista de elementos, puede mostrar los miembros de cada tipo, llamando a los GetProperties() y GetMethods() en cada miembro de la lista de tipos.
-1 por no incluir ninguna explicación más allá de los enlaces. –
El primer enlace ya no existe – Jetti