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:
Before refactoring | After refactoring |
---|---|
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();
}
} |
To convert a static method to an extension method
- Place the caret at the declaration or a usage of a static method in the editor, or select it in the Structure window.
- Do one of the following:
- Press Ctrl+Shift+R and then choose Convert Static Method to Extension
- Choose in the main menu.
- If no conflicts are found, JetBrains Rider performs the refactoring immediately. Otherwise, it prompts you to resolve conflicts.
Last modified: 27 December 2017