查找方法调用中涉及的所有类

时间:2014-05-01 19:18:23

标签: c#-4.0 visual-studio-2013

  • 我有一个.NET 4.0 C#解决方案,其中一个 .csproj (库)有几千个文件。
  • 我想从数千个文件中提取出一小部分功能。

e.g。我想将MyLibrary.RelevantMethod()方法的功能提取到另一个库中。

目的是创建一个新的.csproj,其中包含实现此功能所需的最小类文件。

  • 我有一个 Program.cs ,它会调用该功能,我可以浏览该流程以查找所涉及的所有类。只是有太多了。 (仍然是所有课程的一小部分)

已尝试解决方案:

  • 从方法(F12)经过流程并复制每个类文件及其编译所需的相关文件的常用蛮力。这花了很多时间,但我知道,如果我坚持下去,它就会完成。这是我现在在做什么。

  • 其他选项是复制整个项目并根据本能/名称空间引用消除类的文件夹,构建以验证并保留它。这很糟糕,因为需要文件夹中的一个类子集。

  • vs 2013代码映射图在3次钻取中变得无法管理。序列图也变得过于复杂。

  • 调用层次结构似乎是最有希望的,可视化显示所有类,但仍然需要钻取和复制类的手动任务。

当我手动继续使用调用层次结构逐个提取类时,是否有更快的方式或更多自动方式(半工作方式)确定C#中方法调用中涉及的所有类?

如果我可以获得列表,我可以搜索嵌套.cs的物理文件夹。文件(每个类都有一个等效的.cs文件),然后将它们复制过来。

1 个答案:

答案 0 :(得分:1)

您可以使用Runtime Flow工具(由我开发)查找方法调用中涉及的所有类。在“运行时摘要”窗口中,您还可以将这些类复制到所选模块或命名空间的剪贴板。