ReSharper 2025.2 Help

上移成员重构

此重构有助于将类型成员和已实现的接口从派生类型上移到继承层次结构中的基类型。 例如,如果您有 MyDerivedClass:MyBaseClass、IMyInterface ,此重构可以帮助您将 MyDerivedClass 的成员移动到 MyBaseClassIMyInterface 或它们的任何祖先。 此重构还可以将 IMyInterface 的整个实现移动到 MyBaseClass 或它的任何祖先。

在下面的示例中,我们对 MyDerivedClass 调用重构,以将 void Foo() 添加到 IMyInterface 中:

interface IMyInterface { } class MyDerivedClass : IMyInterface { public void Foo() { Console.WriteLine("Hello"); } }
interface IMyInterface { void Foo(); } class MyDerivedClass : IMyInterface { public void Foo() { Console.WriteLine("Hello"); } }

上移成员

  1. 通过以下方式之一选择一个类型:

    • 在编辑器中,将光标放在类型名称上。

    • 在解决方案资源管理器中选择一个类型。

    • 文件结构窗口窗口中选择一个类型。

    • 在类视图中选择一个类型。

    • 在对象浏览器中选择一个类型。

    • 类型依赖关系图中选择一个类型。

    或者,您也可以在编辑器或工具窗口中选择一个成员。

  2. 执行以下操作之一:

    • Control+Shift+R 然后选择 拉取成员

    • 右键单击并从上下文菜单中选择 重构 | 上移成员

    • 从主菜单中选择 ReSharper | 重构 | 上移成员…

    拉取成员 对话框将打开。

  3. 从可用类型列表中选择一个目标基类型。 基类型以反向层次结构显示,其中层次结构顶部的类型显示为最内层节点。

  4. 选择您想要移动的成员和/或接口。 您还可以单击 所有公共 快速选择所有公共成员,和/或单击 依赖 选择被其他选定成员引用的成员、实现选定接口的成员或覆盖基类中成员的成员。

  5. 对于任何成员,您可以选择 设为抽象 (如果适用)在目标基类中创建一个抽象成员,并将其实现保留在当前类中。

  6. 要应用重构,请单击 下一步

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

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日