将抽象类转换为接口的重构
此重构允许您将抽象类转换为接口。 当您希望一个类继承多个抽象类时,这可能会很有用——您可以轻松地将其中一个转换为接口。
请看下面的示例。 应用重构后,一个类被转换为接口:
public abstract class CachedItem
{
public abstract int Id { get; set; }
public abstract void Register();
public abstract void UnRegister();
}
public interface CachedItem
{
int Id { get; set; }
void Register();
void UnRegister();
}
将抽象类转换为接口
通过以下方式之一选择一个抽象类:
执行以下操作之一:
按 Control+Shift+R 然后选择 将抽象类转换为接口。
右键单击并从上下文菜单中选择 重构 | 将抽象类转换为接口。
从主菜单中选择 。
如果抽象类包含非抽象成员,ReSharper 会显示一个对话框,通知您这些成员的主体和/或访问器将被移除。 为避免这种情况,您需要手动将非抽象成员的逻辑移动到子类或其他地方,然后再次调用重构。
如果未发现冲突,抽象类将被转换为具有相同名称的接口,并且抽象成员的修饰符将相应更改。 否则, 解决冲突。
默认情况下,接口的 命名样式 要求接口名称以 接口 开头。 因此,如果您未更改设置,接口名称将被标记为命名不一致。 只需按 Alt+Enter 并使用相应的 快速修复 来   重命名 接口。
此功能在以下语言和技术中 受支持:
此处提供的说明和示例针对在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。
最后修改日期: 2025年 9月 27日