ReSharper 2025.2 Help

使用注解优化代码检查

代码检查和许多其他 ReSharper 功能在很大程度上依赖于了解语言结构的行为,以检测问题、提出可能的改进建议,并以其他方式为您提供帮助。

然而,这种分析无法检测到所有问题。 例如,如果一个方法被设计为格式化方法,那么如果方法调用中缺少必要的参数,结构分析将无法发现可能的问题。

在这种情况下以及许多其他情况下,ReSharper 的 JetBrains.Annotations 非常有帮助。 通过使用此框架中声明的属性,您可以使 ReSharper 按照您的需求分析代码。 例如,您可以使用 [StringFormatMethod] 注解一个方法,以指示自定义方法与 System.String.Format() 的工作方式相同:

[StringFormatMethod("message")] void ShowError(string message, params object[] args) { /* do something */ } void Foo(string failureDetails) { ShowError("Failed: {0}"); // Warning: Non-existing argument in format string }

这是最简单的示例,还有其他具有更复杂用例的有用属性。 您可以在 参考中找到这些属性的完整列表。

在大多数情况下,代码注解属性启用特定的 代码检查 ,例如:

此外,代码注解还可以在注解的项目上启用更多 快速修复代码补全建议代码生成功能。 注解还需要用于创建和使用 源模板

ReSharper 允许您通过两种方式注解代码符号:

  • 您可以按照上面的示例在源代码中注解符号。 在这种情况下,您需要在项目中引用 JetBrains.Annotations 命名空间。 有关更多信息,请参阅 源代码中的注解

  • 即使您无法访问源代码,您也可以在已编译的库代码中注解符号。 更多信息请参阅 外部注解

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

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

此功能在 C# 中可用

此功能在 Visual Basic 中可用

功能在 C++ 中不可用

此功能在 ASP.NET 中可用

此功能在 Razor 中可用

此功能在 XAML 中不可用

此功能在资源文件中不可用

此功能在构建脚本文件中不可用

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

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

最后修改日期: 2025年 9月 27日