从多个类中提取超类并从中派生出来

时间:2011-10-13 14:05:08

标签: c# refactoring resharper

我想重构我认为应该从一个基类派生的多个类。

如何使用ReSharper 6正确完成此重构?我可以从其中一个类中提取超类,但下一步是什么?我是否必须手动从这个基类派生并在我想要派生的每个类中搜索相同的成员?

1 个答案:

答案 0 :(得分:6)

  1. 运行所有单元测试并看到它们通过
  2. 从其中一个类中提取基类。称之为BaseClass或其他
  3. 运行所有单元测试......
  4. 从另一个类中提取基类。称之为BaseClass2或其他
  5. 运行所有单元测试......
  6. 比较BaseClassBaseClass2行。如果它们不相同,那么重构它们以使它们相同。
  7. 经常运行所有单元测试......
  8. 一旦相同,请将对BaseClass2的所有引用更改为BaseClass
  9. 删除未使用的BaseClass2
  10. 运行单元测试......
  11. 根据需要重复。

    请注意,当您发现一些您觉得应该只是单一方法的常用代码时,这几乎是一样的。