如何在子类中添加参数到方法和覆盖

时间:2014-12-07 18:56:29

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

C#,Visual Studio 2013,ReSharper 8.2。

我上课了。此类由其他类继承,所有类都在同一解决方案中。该类有一个受保护的构造函数,它接受三个参数。每个子类引入一个具有相同参数的公共构造函数,并链接到父类中的构造函数。

我想在此构造函数中添加第四个参数。我希望将这个新参数添加到每个子类的构造函数中。我不想手动将它添加到子类中,因为有很多。

如何使用Visual Studio或ReSharper自动执行此操作?通常R#会使这个显而易见,但不是这次。

2 个答案:

答案 0 :(得分:6)

我刚刚升级到ReSharper 9,所以我无法检查以前的版本,但这是我在最新版本中设法做到的:

  • 首先我手动将参数添加到基础构造函数。
  • 然后我打开了Alt+Enter菜单并选择了应用更改签名重构...

Apply change signature refactoring...

  • 在我选择 Resolve with call tr​​ee
  • 的对话框中

Resolve with call tree

  • 现在打开了重构 - 更改签名对话框,其中包含需要修复的所有派生类:

Refactoring - Change signature

  • 我只需要点击第二个选项(在构造函数中创建参数...... )来修复所有出现的情况:

Create parameter ... in constructor ...

答案 1 :(得分:0)

我不确定,但我认为你可以使用Resharper的Change Signature重构。有关详细信息,请参阅This