System.Reflection(据我所知)不支持反射程序集中的全局方法。在程序集级别上,必须从根类型开始。我的编译器可以生成带有全局方法的程序集,我的标准引导库是包含一些全局方法的dll。我的编译器使用System.Reflection在编译时导入程序集元数据。如果我依赖于System.Reflection,则似乎不可能使用全局方法。最清洁的解决方案是将所有标准方法转换为类静态方法,但问题是,我的语言允许全局方法,而CLR也支持它,但System.Reflection存在缺陷。
ildasm可以很好地显示全局方法,但我认为它不使用System.Reflection本身,而是直接访问元数据和字节码。
除了System.Reflection之外,还有谁知道任何其他第三方反射或反汇编库可以使用(假设我最终将发布我的编译器作为自由的、BSD许可的开源软件)。
已解决:除了我自己的知识之外,没有任何缺口。感谢指出GetModules,伙计们!
ildasm可以很好地显示全局方法,但我认为它不使用System.Reflection本身,而是直接访问元数据和字节码。
除了System.Reflection之外,还有谁知道任何其他第三方反射或反汇编库可以使用(假设我最终将发布我的编译器作为自由的、BSD许可的开源软件)。
已解决:除了我自己的知识之外,没有任何缺口。感谢指出GetModules,伙计们!