首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET / C# -反射- System.IO.File曾经使用过

.NET / C# -反射- System.IO.File曾经使用过
EN

Stack Overflow用户
提问于 2009-07-09 20:38:57
回答 6查看 678关注 0票数 3

是否有一种方法可以使用反射来完全“扫描”程序集,以查看是否使用过System.IO.File或System.IO.Directory?这些只是示例类。只是想知道是否有一种通过反射(vs代码分析)来实现的方法。

更新:参见注释

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-07-09 21:16:32

正如汤米·卡利尔( Tommy )所建议的,使用塞西尔非常容易。

代码语言:javascript
复制
using Mono.Cecil;

// ..

var assembly = AssemblyFactory.GetAssembly ("Foo.Bar.dll");
var module = assembly.MainModule;

bool references_file = module.TypeReferences.Contains ("System.IO.File");
票数 6
EN

Stack Overflow用户

发布于 2009-07-09 20:55:24

出色的NDepend工具将为您提供这类依赖信息。

在NDepend中加载dll,或者使用GUI查找所需的内容,或者使用以下CQL查询:

代码语言:javascript
复制
SELECT TYPES WHERE IsDirectlyUsing "System.IO.File"

你应该得到所有使用这个的类型的列表。

票数 3
EN

Stack Overflow用户

发布于 2009-07-09 20:51:15

我建议你看看赛西尔。使用Cecil,您可以枚举所有类、方法甚至IL指令(包括所有方法调用)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1106322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档