什么是最简单的方法来遍历C#中的方法信息?遍历c#方法和anazlye方法体
我想遍历方法体并找到字段引用等,并检索类型。
在的System.Reflection有:
mi.GetMethodBody().GetILAsByteArray()
这是有点低级别的,需要“一些”工作,我将能够穿过身体前。
我知道塞西尔存在,但是在使用塞西尔加载内存组件时存在问题。我正在使用的程序集并不总是“在磁盘上”,它可以是从例如编译的内存程序集。嘘,我不是一个干净的解决方案没有将程序集临时写入磁盘。
还有什么其他的替代方案呢?
Cecil和内存中的程序集有什么问题? – 2010-08-05 10:37:13
@Tim:我发现这个http://markmail.org/message/yssmfgrsqnnnzrvt,有点旧了。 AssemblyFactory中没有方法仅从文件,byte []或Stream加载现有程序集。 我试图序列化一个Boo生成的程序集到byte [],但得到了“Type System.Reflection.Emit.AssemblyBuilder未标记为可序列化”。 也许我会做一些错误从程序集检索一个字节[]。 – Marcus 2010-08-05 10:47:56