Push Members Down refactoring
This refactoring helps move members and interface implementations from a base type to one or more direct inheritors of this type. For example, if you have
class MyBaseClass : IMyInterface and
class MyDerivedClass : MyBaseClass, this refactoring can help you move members of
MyDerivedClass and/or move the entire implementation of
To push members down
Select a type in one of the following ways:
Do one of the following:
Press Ctrl+Shift+R and then choose Push Members Down
Right-click and choose Refactor | Push Members Down in the context menu.
The Push Members Down dialog will open.
Select one or more destination types from the list of inheritors.
Select members and/or interfaces that you want to move. You can also click All Public to quickly select all public members and/or Dependent to select members that are referenced by other selected members or implement the selected interfaces.
For any member, you can select Make abstract (if applicable) to make the member abstract in the current class and create its implementation(s) in the target inheritor class(es).
To apply the refactoring, click Next.
If no conflicts are found, ReSharper performs the refactoring immediately. Otherwise, it prompts you to resolve conflicts.
This feature is supported in the following languages and technologies:
The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by Language section.