ReSharper 2025.3 Help

使用自动属性

自动实现的属性 (也称为自动属性)允许以更简单的方式声明没有额外逻辑的类型属性。 默认情况下,ReSharper 鼓励在可能的情况下使用自动属性,但此行为是可配置的。

默认情况下,ReSharper 高亮显示大多数可以转换为自动属性的属性,并建议相应的 快速修复范围内修复

使用自动属性快速修复

如果您不希望 ReSharper 提出此建议,您可以 禁用检测到它的代码检查将属性转换为自动属性)。 在这种情况下,带有支持字段的属性不会被高亮显示,也不会建议快速修复,但您仍然可以通过 上下文操作相应的重构应用转换:

转到自动属性上下文操作

将现有自动属性转换为带有支持字段的属性的反向功能也可以通过相应的上下文操作实现。 您还可以使用 上下文操作为属性访问器生成 转换为计算属性 默认主体:

转到带有支持字段的属性上下文操作

另一种批量将属性转换为自动属性的选项是 代码清理。 您可以使用 内置:完全清理 配置文件 运行代码清理 ,或者创建并运行 自定义配置文件 ,仅针对您的特定任务,如下所述。

使用自定义代码清理配置文件将属性转换为自动属性

  1. 从主菜单中选择 ReSharper | 选项 或按下 Alt+R O

  2. 转到清理配置文件设置页面: 代码编辑 | 代码清理 | 配置文件

  3. 按照 创建新的自定义清理配置文件 部分中的描述创建一个新配置文件。 在右侧的配置文件首选项中,请确保已选中 如果可能,使用自动属性 复选框。 您还可以在此配置文件中启用其他代码清理任务。

  4. 在 选项 对话框中点击 保存 以应用修改,让 ReSharper 选择保存位置,或者通过从 保存到 选择器中选择特定的设置层来保存修改。 有关更多信息,请参见 管理和共享 resharper 设置

  5. 选择您希望使用自动属性的范围:

    • 将光标放在文件中的任意位置以对文件使用自动属性。

    • 解决方案资源管理器 中选择一个或多个项目,以对这些节点及其子项目下的文件使用自动属性。

  6. 执行以下操作之一:

    • 按下 Control+Alt+F 或从主菜单中选择 ReSharper | 编辑| 清理代码…

    • 右键单击文本编辑器中的任意位置或右键单击选定内容,并在上下文菜单中选择 清理代码

  7. 在打开的 代码清理 对话框中,选择新创建的配置文件。

  8. 单击 运行。 ReSharper 将在选定范围内使用自动属性。

如果您希望在不打开 代码清理 对话框选择配置文件的情况下将属性转换为自动属性,您可以将创建的配置文件绑定到 静默清理 ,并通过按 Control+Shift+Alt+F 运行它。 您还可以创建一个 自定义清理配置文件 ,将转换为自动属性与其他代码样式任务结合起来。

您可以在每次保存文件更改时将属性转换为自动属性,以确保您的编辑始终符合代码样式。

在保存更改时自动将属性转换为自动属性

  1. 从主菜单中选择 ReSharper | 选项 或按下 Alt+R O

  2. 转到清理配置文件设置页面: 代码编辑 | 代码清理 | 配置文件

  3. 选择您的自定义代码清理配置文件并单击 设为默认 (默认配置文件也用于 静默清理)。

  4. 转到 代码编辑 | 代码清理 | 常规 选项页面并选择 保存文件时自动运行清理

    或者,您可以通过文件掩码限制自动清理到特定文件。

    您还可以选择 仅文件的更改部分 以确保清理仅应用于受您更改影响的代码,而文件中的其余代码不会被修改。

    如果您选择仅清理文件的更改部分,您可以通过以下选项微调此行为:

    • 如果无法执行部分清理,则执行完全清理——根据此选项,ReSharper 将清理整个文件,或者如果无法将清理限制为文件的修改部分,则跳过该文件。

    • 允许在保存共享文件时进行清理——使用此选项启用或禁用对多次包含在解决方案中的文件(例如来自共享项目的文件)的部分清理。

  5. 单击对话框中的 保存 以应用修改,并让 ReSharper 选择保存位置,或者通过从 保存到 选择器中选择特定的设置层来保存修改。 有关更多信息,请参见 管理和共享 resharper 设置

  6. 下次您完成编辑并保存文件( Ctrl+S )或所有文件( Ctrl+Shift+S )时,ReSharper 将使用所选配置文件清理受影响的文件。 如果未选择 默认清理配置文件 ,ReSharper 将提示您选择一个配置文件。

此功能在以下语言和技术中是 支持的

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

功能在 C# 中可用

此功能在 Visual Basic 中不可用

功能在 C++ 中不可用

功能在 ASP.NET 中不可用

功能在 Razor 中不可用

功能在 XAML 中不可用

此功能不适用于资源文件

此功能不适用于构建脚本文件

功能在 SQL/NoSQL 文件和注入中不可用

最后修改日期: 2025年 12月 8日