gpt4 book ai didi

.net - System.Reflection - 全局方法不可用于反射

转载 作者:行者123 更新时间:2023-12-04 16:41:36 25 4
gpt4 key购买 nike

System.Reflection 不(AFAIK)支持在程序集中反射(reflect)全局方法。在汇编级别,我必须从根类型开始。

我的编译器可以生成带有全局方法的程序集,而我的标准引导库是一个包含一些全局方法的 dll。我的编译器使用 System.Reflection 在编译时导入程序集元数据。看来如果我依赖 System.Reflection,全局方法是不可能的。最干净的解决方案是将我所有的标准方法转换为类静态方法,但关键是,我的语言允许全局方法,并且 CLR 支持它,但是 System.Reflection 留下了一个空白。

ildasm 很好地显示了全局方法,但我认为它不使用 System.Reflection 本身,而是直接访问元数据和字节码。

除了 System.Reflection,是否有人知道我可以使用的任何其他 3rd 方反射或反汇编库(假设我最终将我的编译器作为免费的、BSD 许可的开源版本发布)。

已解决:没有差距,除了我的知识。感谢您指出 GetModules,伙计们!

最佳答案

你看过 Module.GetMethods ?

Returns the global methods defined on the module



您可以使用 Assembly.GetModules() 获取程序集的所有模块.

关于.net - System.Reflection - 全局方法不可用于反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com