ReSharper 2025.2 Help

将接口转换为抽象类的重构

此重构将接口转换为抽象类,从而帮助您快速更改一组类和接口之间的层次依赖关系。

请参考以下示例:

interface Shape { double Area { get; } void Draw(); } class Circle : Shape { private readonly int radius; public double Area => Math.PI * Math.Pow(radius, 2); public void Draw() { //do something } }
abstract class Shape { public abstract double Area { get; } public abstract void Draw(); } class Circle : Shape { private readonly int radius; public override double Area => Math.PI * Math.Pow(radius, 2); public override void Draw() { //do something } }

将接口转换为抽象类

  1. 通过以下方式之一选择一个接口:

    • 在编辑器中,将插入符号放在接口名称上。

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

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

    • 在类视图中选择一个接口。

    • 在对象浏览器中选择一个接口。

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

  2. 执行以下操作之一:

    • 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日