【问题标题】:How to add parameter to method and to overrides in child classes如何向方法添加参数并在子类中覆盖
【发布时间】:2014-12-07 18:56:28
【问题描述】:

C#、Visual Studio 2013、ReSharper 8.2。

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

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

如何使用 Visual Studio 或 ReSharper 自动执行此操作?通常 R# 会让这一点很明显,但这次不会。

【问题讨论】:

  • 如何重写构造函数?
  • @AliSepehri.Kh 谢谢,改写。

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


【解决方案1】:

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

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

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

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

  • 我只需要单击第二个选项(在构造函数中创建参数 ...)即可修复所有出现的问题:

【讨论】:

  • 感谢精彩的解释
【解决方案2】:

我不确定,但我认为您可以使用 Resharper 的 Change Signature 重构。更多信息请见This

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    相关资源
    最近更新 更多