代码检查:具有虚拟(可重写)成员的类从未被继承(非私有访问性)
此检查会报告具有一个或多个可重写成员(虚拟 在 C# 中或 可重写 在 Visual Basic 中)的公共类,但在解决方案中没有继承者。
一方面,使成员可重写表明有意在子类中重写它,但另一方面,没有子类。
为了解决这一矛盾,请考虑移除 虚拟 或 可重写 修饰符。 如果该类被有意设计为没有任何继承者,您可以为该类添加 密封 (不可继承 在 Visual Basic 中)修饰符。
要使解决方案范围的检查生效,您需要启用以下至少一项:
简化的全局使用检查:在 ReSharper 选项 Alt+R, O 的 页面上选择 当解决方案范围分析关闭时,显示未使用的非私有类型成员。
解决方案范围分析 :在 ReSharper 选项 的 页面上选择 启用解决方案级分析(_A) Alt+R, O 。
请注意,即使报告的类在您的解决方案中没有直接使用,也可能存在间接使用的情况——例如,通过反射——或者它可能只是被设计为公共 API。 在所有这些情况下,您可能希望通过以下方式之一 抑制该类的使用检查:
推荐的方法是使用 代码注解属性装饰隐式使用的类。 为此目的有两个属性: [UsedImplicitly] 和 [PublicAPI] ,它们在功能上相似,但可以让您和您的团队成员了解该类的实际使用方式。
您还可以使用任何自定义属性抑制使用检查。 为此,请使用 [MeansImplicitUse]属性标记该属性的定义。
最后,您可以像对待任何其他代码检查一样,通过 抑制注释或抑制属性来抑制特定的使用检查。
最后修改日期: 2025年 9月 27日