在VS中,是否有一种方法可以一次更改所有派生类的方法参数?

时间:2018-07-24 15:35:35

标签: c# visual-studio inheritance refactoring

基本上是标题。但是我会提供一个示例,以防我未能正确说出它的意思。

public abstract class A
{
    public abstract void Method(Foo foo);
}

public class B : A
{
    public override void Method(Foo foo)
    {
        throw new System.NotImplementedException();
    }
}

public class C : A
{
    public override void Method(Foo foo)
    {
        throw new System.NotImplementedException();
    }
}

我想一次更改与“ A类”相关的每个类的(Foo foo)。我可以查找并替换,但是如果在其他任何地方使用该方法名称,则可能会损坏其他代码。

我打算从抽象派生数百个类,所以我想知道我可以沿线进行更改。

1 个答案:

答案 0 :(得分:0)

在Visual Studio 2017(无ReSharper)中,它取决于您所说的“更改”。您可以通过突出显示方法名称,然后选择Edit-> Refactor-> Remove ParametersEdit-> Refactor-> {{1 }}。但是,如果没有ReSharper之类的东西,就无法更改现有参数的类型和/或名称(据我所知)。

来源:https://docs.microsoft.com/en-us/visualstudio/ide/reference/change-method-signature