遍历ac#方法和anazlye方法体

Mar*_*cus 8 c# il methodinfo

什么是在c#中遍历methodinfo的最简单方法?

我想遍历方法体并查找字段引用等,并检索类型.

在System.Reflection中有:

mi.GetMethodBody().GetILAsByteArray()
Run Code Online (Sandbox Code Playgroud)

这是一种低级别,在我能够穿越身体之前需要"一些"工作.

我知道Cecil存在,但在使用cecil加载内存程序集时出现问题.我正在使用的程序集并不总是"在磁盘上"它可以是从例如编译的内存程序集.嘘,我不是一个干净的解决方案,而无需将程序集临时写入磁盘.

还有什么其他选择呢?

des*_*sco 8

这件事应该有所帮助:基于反射的CIL读者.它通过调用GetILAsByteArray()获得的字节数组运行