在重写方法中查找重复的代码

时间:2015-05-13 12:57:50

标签: c# visual-studio code-cleanup duplicate-detection

是否有任何程序可以在基本方法中找到重复的代码并在继承的类中重写方法?

我有20个类的基类,它有大约30个虚拟方法(我没有编写这段代码)。我发现一种方法在所有覆盖中具有几乎相同的代码。我认为其他方法也出现了同样的情况。

如何找到重复的代码块以便我可以重构它?

2 个答案:

答案 0 :(得分:3)

在visual studio编辑器中选择代码。右键单击 - >选择在解决方案中查找匹配的克隆。给它一些时间来处理。它会在您的解决方案中告诉您相同的代码。

Finding Duplicate Code by using Code Clone Detection。正如评论中所述,此功能仅适用于视觉工作室的Ultimate和Premium版本。

Resharper有类似的东西。选择代码,右键单击 - >选择查找类似代码菜单。

答案 1 :(得分:2)

或许,看看Resharper DupFinder?这是他们命令行工具的一部分。

http://blog.jetbrains.com/dotnet/2013/09/03/duplicate-finder-part-of-resharper-command-line-tools/