Инструмент для извлечения базового класса? - PullRequest
6 голосов
/ 29 августа 2011

Если у меня есть код C #, подобный этому:

public class A {
    public string PropA { get; set; }
    public string PropB { get; set; }

    public string PropZ { get; set; }

}

public class B {
    public string PropA { get; set; }
    public string PropB { get; set; }

    public string PropX { get; set; }
    public string PropY { get; set; }

}

Поскольку PropA и PropB существуют в обоих классах и имеют одинаковое значение, я хотел бы провести рефакторинг следующим образом:

public abstract class Base {
    public string PropA { get; set; }
    public string PropB { get; set; }
}

public class A : Base {
    public string PropZ { get; set; }

}
public class B : Base {

    public string PropX { get; set; }
    public string PropY { get; set; }

}

Используя VS 2010, есть ли инструмент / расширение, позволяющее мне быстро это сделать? Фактически, мой реальный код содержит десятки свойств в нескольких классах, не в том же порядке. Это может быть немного больно, чтобы правильно факторизовать код ... поэтому я ищу ленивый способ сделать это

1 Ответ

2 голосов
/ 29 августа 2011

Вы можете использовать Resharper с "Extract Superclass".

...