JetBrains Rider 2026.1 Help

Code inspection: Call to 'base.Equals(...)' is reference equality

base.Equals(...) calls object.Equals unless a base class overrides it. That means it only checks reference equality, which is often not what you want inside an overridden Equals method.

This inspection reports calls to base.Equals(...) when that call resolves to object.Equals(...). In that case, the code does not compare object state and usually makes the override behave incorrectly.

Example

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; } }
01 April 2026