如何将一个方法从类中拉出(并转换为新的或现有的)?

时间:2010-05-03 05:31:02

标签: c# visual-studio-2010 resharper refactoring

使用Visual Studio 2010 / Resharper将现有方法从类中拉出到新类中的最简单方法是什么?编辑:我使用Resharper第5版。

3 个答案:

答案 0 :(得分:7)

开始

public void Method(){}

  1. 首先,使用“Make Method Static”命令使方法静态。

    public static void Method(){}

  2. 然后,添加新类的类型的局部变量:

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

  3. 然后,使用Introduce Parameter

    public static void Method(Class2 me){}

  4. 然后使用“Make Method non-Static”。在第2课:

    public void Method(){}

答案 1 :(得分:4)

与上面相同,但我不会手动转换为静态方法。拉出“Refactor this”菜单(当然使用快捷键,ctrl + shift + R),然后选择“Make method static”,然后选择“Refactor this” - >“Move”。

注意:

如果您正在讨论在类层次结构中移动方法,可以使用“推送成员”或“拉出成员”

答案 2 :(得分:1)

在最新的Resharper中,有移动重构。您可以在光标位于方法签名时按F6,也可以将代码剪切粘贴到新位置,Resharper会让您应用重构。