这是THIS之一的后续问题:
要分析一个程序集(或它所用的类型),我想阅读这个程序集的TypeRef
表。
我得到提示使用Mono.Cecil
来执行此操作,但我只找到了阅读TypeDef
信息的示例。另外浏览cecil的源代码我只发现在我看来负责读取元数据的内部类,但我没有找到"公共接口"。
我还发现THIS文章使用了一些COM库来读取元数据,但我也无法弄清楚如何将其用于我的目的。
有谁能告诉我如何阅读大会上的TypeRef
表格(最好使用像Mono.Cecil
而不是COM这样的东西)?
如果有人能指出我正确的方向,我也很高兴......
答案 0 :(得分:2)
使用Cecil,只需访问ModuleDefinition.GetTypeReferences()
即可。例如:
var assembly = AssemblyDefinition.ReadAssembly(assemblyPath);
var typeReferences = assembly.MainModule.GetTypeReferences();