Как вытащить метод из его класса (и в новое или существующее)?

Каков самый легкий способ вытащить существующий метод из его класса и в новый класс с помощью Visual Studio 2010 / Resharper?

Править: Я использую версию 5 Resharper.

9
задан AakashM 29 January 2012 в 22:21
поделиться

2 ответа

Начиная с

public void Method () {}

  1. Сначала сделайте метод статическим с помощью команды «Сделать метод статическим».

    public static void Method () {}

  2. Затем добавьте локальную переменную типа нового класса:

    public static void Method () {Class2 me = new Class2 ();}

  3. Затем используйте параметр Introduce Parameter

    public static void Method (Class2 me) {}

  4. Затем используйте «Сделать метод нестатическим». В class2:

    public void Method () {}

7
ответ дан 3 November 2019 в 00:00
поделиться

То же, что и выше, но я бы не стал выполнять преобразование в статический метод вручную. Вытяните меню «Рефакторинг этого» (используя, конечно, горячие клавиши ctrl + shift + R), затем выберите «Сделать метод статическим», затем «Рефакторинг этого» -> «Переместить».

Примечание:

Если вы говорите о перемещении метода в иерархии классов, вы можете использовать «Подтолкнуть элементы вниз» или «Потянуть элементы вверх»

4
ответ дан 3 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: