ReSharper 2025.3 Help

将属性转换为自动属性的重构

此重构可帮助您将带有私有后备字段的属性转换为 自动实现的属性 (也称为自动属性)。 重构会移除后备字段,并将其所有用法替换为新创建的自动属性。

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

使用自动属性快速修复

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

转到自动属性上下文操作

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

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

在下面的示例中,重构将带有后备字段的属性转换为自动属性:

class Shape { private Color bgColor; public Color BackgroundColor { get { return bgColor; } set { bgColor = value; } } public Shape(Color background) { bgColor = background; } }
class Shape { public Color BackgroundColor { get; set; } public Shape(Color background) { BackgroundColor = background; } }

您还可以使用重构命令将属性转换为自动属性。 为此,请将插入符号放在编辑器中属性的声明或用法处,或在 文件结构窗口窗口中选择它,然后执行以下操作之一:

  • Control+Shift+R ,然后选择 将属性转换为自动属性

  • 右键单击并在上下文菜单中选择 重构 | 将属性转换为自动属性

  • 在主菜单中选择 ReSharper | 重构 | 转换 | 属性到自动属性…

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

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

功能在 C# 中可用

此功能适用于 Visual Basic

功能在 C++ 中不可用

功能在 ASP.NET 中不可用

功能在 Razor 中不可用

功能在 XAML 中不可用

此功能不适用于资源文件

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

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

此处提供的说明和示例介绍了在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相关主题。

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