Каков самый легкий способ вытащить существующий метод из его класса и в новый класс с помощью Visual Studio 2010 / Resharper?
Править: Я использую версию 5 Resharper.
Начиная с
public void Method () {}
Сначала сделайте метод статическим с помощью команды «Сделать метод статическим».
public static void Method () {}
Затем добавьте локальную переменную типа нового класса:
public static void Method () {Class2 me = new Class2 ();}
Затем используйте параметр Introduce Parameter
public static void Method (Class2 me) {}
Затем используйте «Сделать метод нестатическим». В class2:
public void Method () {}
То же, что и выше, но я бы не стал выполнять преобразование в статический метод вручную. Вытяните меню «Рефакторинг этого» (используя, конечно, горячие клавиши ctrl + shift + R), затем выберите «Сделать метод статическим», затем «Рефакторинг этого» -> «Переместить».
Примечание:
Если вы говорите о перемещении метода в иерархии классов, вы можете использовать «Подтолкнуть элементы вниз» или «Потянуть элементы вверх»