System.Reflection не поддерживает (AFAIK), отражающую глобальные методы в сборке. На уровне сборки я должен начинать с корневых типов.System.Reflection - глобальные методы недоступны для отражения
Мой компилятор может создавать сборки с глобальными методами, а моя стандартная загрузочная библиотека - это dll, которая включает в себя некоторые глобальные методы. Мой компилятор использует System.Reflection для импорта метаданных сборки во время компиляции. Кажется, если я буду зависеть от System.Reflection, глобальные методы не будут возможны. Самое чистое решение - преобразовать все мои стандартные методы в класс статические методы, но дело в том, что мой язык позволяет глобальные методы, и CLR поддерживает его, но System.Reflection оставляет пробел.
ildasm показывает глобальные методы просто отлично, но я полагаю, что он не использует System.Reflection и подходит к метаданным и байт-коду.
Помимо System.Reflection, кто-нибудь знает о любых других зеркальных или дизассемблирующих сторонних участниках, которые я мог бы использовать (предполагая, что в конечном итоге я выпущу свой компилятор как бесплатный, открытый с лицензией BSD с открытым исходным кодом).
РЕШЕННЫЙ: нет пробелов, за исключением, насколько мне известно. Спасибо, что указали GetModules, ребята!
Избили меня к нему, но я должен признать, что я на самом деле не пробовал. Хороший вопрос и хороший ответ. –
@Brian: Почему вы думаете, что я пробовал? ;) –
у вас, вероятно, есть власть на высоком уровне, которая сообщит вам, если документация точна или не просто посмотрела на нее :) –