JetBrains Rider 2023.3 Help

Convert Static to Extension Method refactoring

This refactoring helps you convert a static method to an extension method, provided that the static method:

  • Has at least one parameter.

  • Resides in a non-generic, non-nested static class.

Consider the following example:

static class Foo { public static string Reverse(string input) { var chars = input.ToCharArray(); Array.Reverse(chars); return new string(chars); } static void Test(string str) { str = Reverse(str); } }
static class Foo { public static string Reverse(this string input) { var chars = input.ToCharArray(); Array.Reverse(chars); return new string(chars); } static void Test(string str) { str = str.Reverse(); } }

Convert a static method into an extension method

  1. Place the caret at the declaration or a usage of a static method in the editor, or select it in the Structure window.

  2. Do one of the following:

    • Press Alt+Enter and choose Convert Static Method to Extension.

    • Press Ctrl+Alt+Shift+T and then choose Convert Static Method to Extension.

    • Choose Refactor | Convert Static Method to Extension from the main menu.

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

Last modified: 21 March 2024