The Move Static Member refactoring allows users to move inner classes, static fields and methods to another type. All corresponding references and usages are automatically updated, including scenarios where a member uses other members of its original type.
TipTo move a non-static method, perform the following sequence of refactorings:
- Position the caret at a static member or an inner type.
- Choose ReSharper | Refactor | Move, or press F6.
- If you selected an inner type, the following dialog box opens:
- Select Another type, and click Next.
NoteIf you select Outer Scope, the
Move Type to Outer Scoperefactoring is performed.
- If you selected a static field or method (or if you chose to move an inner type to another type), the following dialog box opens:
The dialog box displays all static members of the containing class, and its inner types. You can select check boxes next to the items you want to move.
TipIf the refactored static member uses another static member of the same class, ReSharper highlights the used member in blue and shows a corresponding tooltip.
- Type or browse to the name of the destination class. In the latter case, you can search for a type using a drop-down tree view:
- Select check boxes next to members that you want to move. Note that you can move several static class members and inner types at once.
- Select a custom access level, or leave it "as is".
- Click Next. If no conflicts are found, ReSharper performs the refactoring immediately.