System.Reflection 不(AFAIK)支持在程序集中反映全局方法。在汇编级别,我必须从根类型开始。
我的编译器可以生成带有全局方法的程序集,而我的标准引导库是一个包含一些全局方法的 dll。我的编译器使用 System.Reflection 在编译时导入程序集元数据。看来如果我依赖 System.Reflection,全局方法是不可能的。最干净的解决方案是将我所有的标准方法转换为类静态方法,但关键是,我的语言允许全局方法,并且 CLR 支持它,但是 System.Reflection 留下了一个空白。
ildasm 很好地显示了全局方法,但我认为它不使用 System.Reflection 本身,而是直接访问元数据和字节码。
除了 System.Reflection,是否有人知道我可以使用的任何其他第 3 方反射或反汇编库(假设我最终将我的编译器作为免费的、BSD 许可的开源版本发布)。
已解决:没有差距,除了我的知识。感谢您指出 GetModules,伙计们!