ReSharper 2025.2 Help

代码注解

ReSharper 选项:代码检查 | 代码注解

此 ReSharper 选项 页面允许您获取 代码注解属性类 ,并进行相关配置。

JetBrains 注解 - 官方 NuGet 包

单击此链接访问 JetBrains 注解主页 ,您可以通过 NuGet 获取注解。

自动传播注解

如果选中此复选框,某些 ReSharper 功能将自动插入注解属性。 例如,“检查参数是否为 null” 上下文操作将添加 [NotNull] 属性,并生成检查是否为 null 的代码。

默认注解命名空间

允许您选择 ReSharper 查找代码注解类型的命名空间。 如果您在多个命名空间中具有相同的注解类型,此选项可能会有所帮助。 更多信息请参阅 源代码中的注解

包含代码注解属性的命名空间列表

ReSharper 会自动检测解决方案和引用的程序集中的命名空间,这些命名空间包含有效的注解属性类型,并显示这些命名空间的列表(如果有)。

注解属性的默认实现声明在 JetBrains.Annotations 命名空间中,但该命名空间并不是注解正常工作的必要条件。 您可以将声明放置在解决方案中的任何位置,ReSharper 会自动检测它们。 但是,如果声明位于不同的命名空间中,您需要明确指定带有注解属性的命名空间,如下所述。

在某些情况下,您的解决方案可能包含多个注解属性的实现,例如,您有与 ReSharper 注解类同名的类(CanBeNullAttributeNotNullAttribute 等),或者您正在使用包含 ReSharper 注解类的第三方程序集。 在这种情况下,您可以选择 ReSharper 应该查找注解属性类的正确集合的命名空间。

注解源代码

在本节中,您可以将 JetBrains.Annotations 命名空间的源代码复制到剪贴板,以便将声明嵌入到解决方案中所需的位置。

在复制注解之前,您可以通过两种方式自定义类:

  • 单击 内部 使注解类为内部类,即仅在您插入它们的模块内可访问。

  • 单击 conditional 向类添加 [Conditional("JETBRAINS_ANNOTATIONS")] 属性。 这将使编译器忽略代码中的注解属性,这意味着不会生成对“JetBrains.Annotations.dll”程序集的二进制引用。 但是,您可以在项目中定义 'JETBRAINS_ANNOTATIONS' 条件编译符号,以在元数据中保留这些属性。

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