如何在 Visual Studio 2017 中从 class 中提取接口

How to extract interface from class in Visual Studio 2017

从 class (C#) 中提取接口的功能似乎在 VS 2017 中发生了变化。我如何在 Visual Studio 2017 中做到这一点。

右键单击 class 名称和 select "Quick Actions and Refactorings..." 然后 select "Extract interface..."

请注意,您也可以单击 class 名称并按 Ctrl+ 调出相同的上下文菜单。

安装 ReSharper 后,右键单击 class 名称:Refactor > Extract > Extract Interface ...

请记住,如果 class 是静态的,Extract Interface... 选项甚至不在菜单中。如果 class 成员没有出现在您 select 界面中出现的菜单中,这同样适用于 class 成员。

我完全忘记了您不能拥有带有接口的静态 class 或根本无法扩展。

对于某些用户,右键单击 class 的菜单似乎已被删除,现在您只能通过要创建界面的 class 上的 right clicking 访问,并且比点击 Quick actions and refactoring.

提取接口重构

将光标放在 class 名称上。

按 Ctrl+R,然后按 Ctrl+I。

https://docs.microsoft.com/en-us/visualstudio/ide/reference/extract-interface?view=vs-2019

我在使用 Visual Studio Community 2019 时遇到了同样的问题,我通过禁用 Resharper 修复了它。