System.Reflection no admite (AFAIK) que refleje métodos globales en un ensamblaje. En el nivel de ensamblaje, debo comenzar con los tipos de raíz.System.Reflection: los métodos globales no están disponibles para la reflexión
Mi compilador puede producir ensambles con métodos globales, y mi lib de arranque estándar es una DLL que incluye algunos métodos globales. Mi compilador usa System.Reflection para importar metadatos ensamblados en tiempo de compilación. Parece que si dependo de System.Reflection, los métodos globales no son una posibilidad. La solución más limpia es convertir todos mis métodos estándar en métodos estáticos de clase, pero el punto es que mi lenguaje permite métodos globales y CLR lo admite, pero System.Reflection deja un espacio.
ildasm muestra bien los métodos globales, pero supongo que no usa System.Reflection y va directamente a metadatos y códigos de bytes.
Además de System.Reflection, ¿alguien conoce otras libs de reflexión o desensamblaje de terceros que pueda utilizar (suponiendo que eventualmente lanzaré mi compilador como fuente abierta de licencia BSD gratuita).
SOLUCIONADO: No hay espacio, excepto en mi conocimiento. Gracias por señalar GetModules, muchachos!
se me adelantó, pero tengo que admitir que no he hecho probado. Buena pregunta y buena respuesta. –
@Brian: ¿Qué te hace pensar que lo he probado? ;) –
es probable que tenga algún poder de alto nivel que le permita saber si la documentación es precisa o no, simplemente mirándola :) –