Visual Studio提供了多个重构,用于将代码提取到新构造或内联代码中,以简化基本代码。 可以通过 快速操作和重构 菜单(Ctrl+.)访问这些重构。
提取方法
applies to: C#,Visual Basic
此重构将代码片段转换为自己的方法,减少从多个位置调用同一代码时的重复。
突出显示要提取的代码:
C#:
Visual Basic:
接下来,执行下列操作之一:
-
键盘
- 按 Ctrl+R,然后按 Ctrl+M。 (键盘快捷方式可能因所选配置文件而异。
- 按 Ctrl+。触发“快速操作和重构”菜单,并从“预览”窗口弹出窗口中选择“提取方法”。
-
鼠标
- 选择 “编辑 > 重构 > 提取方法”。
- 右键单击代码并选择“ 重构 > 提取 > 方法”。
- 右键单击代码,选择“ 快速操作和重构 ”菜单,然后从“预览”窗口弹出窗口中选择“ 提取方法 ”。
将立即创建该方法。 现在可以通过键入新名称来重命名方法。
小窍门
还可以更新注释和其他字符串以使用此新名称,以及在保存之前 预览更改 ,使用 IDE 右上角显示的“ 重命名 ”框中的复选框。
C#:
Visual Basic:
-
键盘
如果对更改感到满意,请选择 “应用 ”按钮或按 Enter ,并将提交更改。
提取本地函数
适用于: C#
此重构将现有方法中的代码片段转换为本地函数,当提取的代码只需要在同一方法中调用时非常有用。
突出显示要提取的代码。
按 (Ctrl.) 触发“快速操作和重构”菜单。
选择 提取本地函数。
提取基类
applies to: C#,Visual Basic
此重构将成员从所选类提取到新的基类,当希望通过继承跨类共享成员时非常有用。
将插入符号放在类名或突出显示的成员上。
按 (Ctrl.) 触发“快速操作和重构”菜单。
选择 将成员上移到新的基类。
新的 “提取基类 ”对话框将打开,你可以在其中指定基类的名称及其放置位置。 可以选择要传输到新基类的成员,并通过选中“使抽象”列中的复选框使成员变得抽象。
提取接口
applies to: C#,Visual Basic
此重构使用类、结构或接口中的现有成员创建接口,使其他类型的能够共享通用签名。
将光标置于类名中。
C#:
Visual Basic:
突出显示代码的

接下来,执行以下操作之一:
-
键盘
- 按 Ctrl+R,然后按 Ctrl+I。 (键盘快捷方式可能因所选配置文件而异。
- 按 Ctrl+。触发“快速操作和重构”菜单,然后从“预览”窗口弹出窗口中选择“提取界面”。
-
鼠标
- 选择 “编辑 > 重构 > 提取接口”。
- 右键单击类的名称,选择“ 快速操作和重构 ”菜单,然后从“预览”窗口弹出窗口中选择“ 提取接口 ”。
-
键盘
在弹出的“ 提取接口 ”对话框中,输入系统询问的信息:
领域 说明 新接口名称 要创建的接口的名称。 该名称默认为 IClassName,其中 ClassName 是上面选择的类的名称。 新文件名 将包含接口的生成的文件的名称。 与接口名称一样,此名称默认为 IClassName,其中 ClassName 是上面选择的类的名称。 还可以选择“ 添加到当前文件”选项。 选择要形成接口的公共成员 要提取到接口中的项。 你可以根据需要选择任意数量。 选择确定。
该接口是在指定名称的文件中创建的。 此外,所选类实现该接口。
C#:
Visual Basic:
生成的类的

生成的接口的

内联方法
applies to: C#,Visual Basic
此重构将单个语句正文中的静态、实例或扩展方法的用法替换为其实现,并提供了删除原始方法声明的选项。
将插入点放在方法的用法上。
按 (Ctrl.) 触发“快速操作和重构”菜单。
从以下选项之一中进行选择:
选择 Inline
<QualifiedMethodName>以删除内联方法声明:Visual Studio中“快速操作和重构”菜单的

选择 Inline 并保留
<QualifiedMethodName>保留原始方法声明:
内联临时变量
applies to: C#,Visual Basic
此重构会删除临时变量并将其替换为其值,在临时变量使代码难以理解时简化代码。
突出显示或将文本光标置于要内联的临时变量中:
C#:
Visual Basic:
突出显示代码的

接下来,执行下列操作之一:
-
键盘
- 按 (Ctrl.) 触发“快速操作和重构”菜单。
-
鼠标
- 右键单击代码,然后选择 “快速操作和重构 ”菜单。
-
键盘
从“预览”窗口弹出窗口中选择 内联临时变量 。
将删除该变量并将其用法替换为变量的值。
C#:
Visual Basic:
inline 结果的
