ReSharper 2025.2 Help

将静态方法转换为扩展方法的重构

此重构功能可帮助您将静态方法转换为扩展方法,前提是该静态方法:

  • 至少有一个参数。

  • 位于非泛型、非嵌套的静态类中。

请参考以下示例:

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(); } }

将静态方法转换为扩展方法

  1. 将光标放在编辑器中静态方法的声明或用法处,或在 文件结构窗口窗口中选择它。

  2. 执行以下操作之一:

    • Alt+Enter 并选择 将静态方法转换为扩展方法

    • Control+Shift+R 然后选择 将静态方法转换为扩展方法

    • 右键单击并从上下文菜单中选择 重构 | 将静态方法转换为扩展方法

    • 从主菜单中选择 ReSharper | 重构 | 转换 | 静态方法为扩展方法…

  3. 如果未发现冲突,ReSharper 将立即执行重构。 否则,它会提示您 解决冲突

此功能在以下语言和技术中 受支持

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

此功能在 C# 中可用

此功能在 Visual Basic 中可用

功能在 C++ 中不可用

此功能在 ASP.NET 中不可用

此功能在 Razor 中不可用

此功能在 XAML 中不可用

此功能在资源文件中不可用

此功能在构建脚本文件中不可用

此功能在 SQL/NoSQL 文件和注入中不可用

此处提供的说明和示例针对在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。

最后修改日期: 2025年 9月 27日