2014-12-07 58 views
0

C#,Visual Studio 2013,ReSharper 8.2。如何将参数添加到方法并覆盖子类

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

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

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

+1

你是如何重写构造函数的? – 2014-12-07 19:06:54

+1

@ AliSepehri.Kh谢谢,重新编写。 – cja 2014-12-07 19:23:13

回答

6

我刚刚升级到ReSharper的9,所以我不能在以前的版本检查,但在这里就是我如何设法做到这一点在最新的版本:

  • 首先,我手动添加的参数基础构造函数。
  • 然后我打开Alt+Enter菜单和选择应用变化签名重构...

Apply change signature refactoring...

  • 在该对话框中,我选择解决与调用树

Resolve with call tree

  • 现在重构 - 更改签名对话框打开与需要修复所有派生类:

Refactoring - Change signature

  • 我只需要点击第二个选项(创建参数.. 。在构造函数中...)修复所有发生:

Create parameter ... in constructor ...

+1

谢谢辉煌的解释 – cja 2014-12-07 19:48:12

0

我不确定,但我认为你可以使用Change Signature Resharper的重构。欲了解更多信息,请参阅This