ReSharper 2025.2 Help

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

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

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

使用自动属性快速修复

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

转换为自动属性的上下文操作

将现有自动属性转换为带有后备字段的属性的反向功能也可以通过相应的上下文操作实现。 You can also generate default bodies for property accessors using the 转换为计算属性 context action:

转换为带有后备字段的属性的上下文操作

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

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年 9月 27日