The Convert Interface to Abstract Class refactoring allows you to simplify a local
hierarchical dependency among a set of classes and interfaces. This is especially
useful when you no longer want a class to implement an interface, thus it makes sense to convert the
interface to an abstract
class and bring its methods into the new abstract class. The reverse functionality is provided by
- Right-click the name of an interface in Class View, Object Browser, or in the code editor, and select Refactor | Convert Interface to Abstract Class in the pop-up menu.
- Select ReSharper | Refactor | Convert | Interface to Abstract Class in the main menu.
If no conflicts are identified, the interface is converted into an abstract class of the same name. At the same time, modifiers of methods are changed accordingly.
Consider the following example:
ICodeFormatter to an abstract class, the code looks as follows: