在覆盖的方法中查找重复的代码

Find duplicated code in overridden method

有没有程序可以找到基本方法中的重复代码和继承的 classes 中的重写方法?

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

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

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

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

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

Finding Duplicate Code by using Code Clone Detection。如评论中所述,此功能仅在 visual studio.

的终极版和高级版中可用

Resharper 有类似的东西。 Select代码,右击->Select查找相似代码菜单。