JetBrains Rider 2026.1 Help

代码检查:调用 'base.Equals(...)' 是引用相等

base.Equals(...) 会调用 object.Equals ,除非基类进行了重写。 这意味着它只检查引用相等,这通常不是在重写的 Equals 方法中想要的。

此检查会报告对 base.Equals(...) 的调用当该调用解析为 object.Equals(...) 时。 在这种情况下,代码不会比较对象状态,通常会导致重写行为不正确。

示例

class Person { public string Name { get; } public override bool Equals(object? obj) { return base.Equals(obj); } }
class Person { public string Name { get; } public override bool Equals(object? obj) { return obj is Person other && Name == other.Name; } }
2026年 5月 8日