代码检查:类从未被实例化(非私有可访问性)
此检查报告了解决方案中未创建任何对象的公共类和记录。 与“类型从未使用”问题不同,此检查报告的类型是有使用的:它可能被用作基类型、方法或类型参数、未初始化变量声明等。
根据不同情况,有几种可能的解决方案:如果类仅包含静态成员和/或常量字段,请考虑将其设为静态。 如果类是基类或用于类型参数,请考虑将其设为抽象。 如果类不是必需的且不会影响现有代码,您可以考虑将其删除。 但是,如果类应该被实例化但未被实例化,请考虑在必要时创建实例。
在所有情况下,您对类的意图应该对未来阅读您代码的任何人都清晰明了。 您选择的操作应有助于提高代码的可读性和可维护性。
要使解决方案范围的检查生效,您需要启用以下至少一项功能:
简化的全局使用检查:在 JetBrains Rider 设置 的 页面上选择 在关闭全局范围分析时显示未使用的非私有类型成员 Ctrl+Alt+S。
解决方案范围分析 :在 JetBrains Rider 设置 的 页面上选择 启用解决方案级分析(_A) Ctrl+Alt+S。
请注意,即使报告的符号在您的解决方案中没有直接使用,也可能存在间接使用的情况——例如,通过反射——或者它可能只是被设计为公共 API。 在所有这些情况下,您可能希望通过以下方式之一 抑制 符号的使用检查。
推荐的方法是使用 代码注解属性装饰隐式使用的符号。 为此目的有两个属性: [UsedImplicitly] 和 [PublicAPI] ,它们在功能上相似,但可以让您和您的团队成员了解符号的实际使用方式。
您还可以使用任何自定义属性来抑制使用检查。 为此,请使用 [MeansImplicitUse]属性标记该属性的定义。
最后,您可以像处理任何其他代码检查一样,通过 抑制注释或抑制属性来抑制特定的使用检查。
最后修改日期: 2025年 9月 26日