ReSharper 2025.3 Help

生成格式化成员

.NET 中的任何类型都实现了 ToString() 方法,该方法返回该类型对象的字符串表示。 为了为我们的类型返回有意义的字符串,我们通常需要重写 ToString() 方法。

ReSharper 允许您通过 生成格式设置成员 命令自动完成此例行操作。

根据 目标 C# 版本 ,ReSharper 要么使用插值字符串,要么使用 String.Format()。 请注意,您始终可以使用上下文操作 Alt+Enter 在它们之间进行转换。

在下面的示例中,此命令用于基于 _radius_center 字段生成 ToString() 方法。

生成前

生成后

class Circle { int _radius; Point _center; }
class Circle { int _radius; Point _center; public override string ToString() { return $"{nameof(_radius)}: {_radius}, {nameof(_center)}: {_center}"; } }

为格式化成员生成重写

  1. 在编辑器中,将插入符号放置在类型名称上或类型内您希望插入格式化成员重写的行上。 如果插入点位于类型名称处,则生成的代码将添加到类型声明的开头。

  2. Alt+Insert 或从主菜单中选择 ReSharper | 编辑| 生成代码…。 或者,您可以按 Control+Shift+A ,开始在弹窗中输入命令名称,然后从中选择它。

  3. 生成 弹出窗口中,选择 格式化成员

  4. 在出现的 生成 对话框中,选择要用于 ToString() 重写的字段和/或自动属性。

    使用 ReSharper 生成 'ToString()'

    如果您的类型中没有字段/属性,或者您未选择其中任何一个,ReSharper 将根据您的设置抛出新的 NotImplementedException() ,返回默认值,或在生成方法的主体中放置无法编译的代码。 您可以在 ReSharper 选项的 代码编辑 | 成员生成 页面上配置设置。

    可选地,在对话框中使用以下控件:

    • ToString 已存在 — 如果 ToString() 的实现已存在,则会出现,并允许您选择是否:

      • 替换已存在的方法。

      • 将新生成的方法与现有方法并排放置。

      • 完全跳过生成新方法。

    • 使用 'nameof' — 如果 目标 C# 版本 高于 6.0,则会出现。 如果选中此复选框,ReSharper 将使用 nameof(symbol_name) 定义符号的字符串表示,否则,它将自动计算字符串表示,例如,名为 _radius 的字段将呈现为 "Radius"

  5. 单击 完成 以完成向导。

    您还可以单击 选项 在 ReSharper 选项的 代码编辑 | 成员生成 页面上查看或修改通用代码生成偏好。

您还可以通过在 生成 菜单中选择 Overriding Members 来生成重写,但在这种情况下,重写将返回 base.ToString()

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

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

功能在 C# 中可用

此功能适用于 Visual Basic

功能在 C++ 中不可用

功能在 ASP.NET 中不可用

功能在 Razor 中不可用

功能在 XAML 中不可用

此功能不适用于资源文件

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

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

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

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