c# - 从多个类中提取父类(super class)并从中派生

标签 c# refactoring resharper

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

如何使用 ReSharper 6 正确完成此重构?我可以从其中一个类中提取父类(super class),但接下来呢?我是否必须手动从这个基类派生并在我想派生的每个类中搜索相同的成员?

最佳答案

  1. 运行所有单元测试并确保它们通过
  2. 从您的一个类中提取基类。称它为 BaseClass 或其他名称
  3. 运行所有单元测试...
  4. 从您的另一个类中提取基类。称它为 BaseClass2 或其他名称
  5. 运行所有单元测试...
  6. 逐行比较 BaseClassBaseClass2。如果它们不相同,则重构它们以使它们相同。
  7. 经常运行所有单元测试...
  8. 一旦它们相同,将所有对 BaseClass2 的引用更改为 BaseClass
  9. 删除未使用的 BaseClass2
  10. 运行单元测试...

根据需要重复。

请注意,当您发现一些您认为应该是单一方法的通用代码时,这与使用的过程几乎相同。

关于c# - 从多个类中提取父类(super class)并从中派生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7755351/

相关文章:

c# - ReSharper Ultimate 错误 "There' 重新对文件进行了不一致的修改...”

c# - ReactiveCommand IsExecuting 在第一个发出值后更改为 false

c# - 如何向 Internet Explorer 添加自定义工具栏按钮?

c# - 从 C# 以管理员身份执行 PowerShell

c# - Random.Next() 给我相同的值

refactoring - 您如何删除/清理不再使用的代码?

visual-studio-2012 - 使用 VS2012 和 ReSharper 8 在键入 { 时自动用大括号包围选择的任何方法?

c#-4.0 - 访问修改后的闭包 - ref int

c# - 减少代码重复 : Calling functions with slightly different signatures

python - 重构:合并两个字典,但忽略 None 值