静的メソッドから拡張メソッドへの変換リファクタリング
このリファクタリングは、静的メソッドを拡張メソッドに変換できます。
少なくとも 1 つのパラメーターがあります。
非ジェネリクスでネストされていない静的クラスに存在します。
次の例を検討してください。
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();
}
}
静的メソッドを拡張メソッドに変換する
キャレットをエディターの static メソッドの宣言または使用箇所に置くか、 ファイル構造ウィンドウウィンドウで選択します。
次のいずれかを実行します。
Alt+Enter を押して、 静的メソッドを拡張に変換する を選択します。
Control+Shift+R を押し、を 静的メソッドを拡張に変換する を選択します。
右クリックして、コンテキストメニューから リファクタリング | 静的メソッドを拡張に変換する を選択します。
メインメニューから を選択します。
競合するものが見つからない場合、ReSharper はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。
2026 年 6 月 12 日