JetBrains Rider 2021.2 Help

Convert Interface to Abstract Class refactoring

This refactoring converts interfaces into abstract classes thus helping you quickly change hierarchical dependency among a set of classes and interfaces.

Consider the following example:

interface Shape { double Area { get; } void Draw(); } class Circle : Shape { private readonly int radius; public double Area => Math.PI * Math.Pow(radius, 2); public void Draw() { //do something } }
abstract class Shape { public abstract double Area { get; } public abstract void Draw(); } class Circle : Shape { private readonly int radius; public override double Area => Math.PI * Math.Pow(radius, 2); public override void Draw() { //do something } }

Convert an interface into an abstract class

  1. Select an interface in one of the following ways:

    • In the editor, set the caret at the name of an interface.

    • Select an interface in the Solution Explorer.

    • Select an interface in the Structure window.

  2. Do one of the following:

    • Press Ctrl+Alt+Shift+T and then choose Convert Interface to Abstract Class

    • Choose Refactor | Convert Interface to Abstract Class in the main menu.

  3. If no conflicts are found, JetBrains Rider performs the refactoring immediately. Otherwise, it prompts you to resolve conflicts.

Last modified: 08 March 2021