Documentation C# static code analysis: Classes implementing "IEquatable<T>" should be sealed on web site as of today (2022/01/28).
The Noncompliant Code Example contains several errors:
if (other == null) { return false };
Missing ‘;’ after return, unnecessary ‘;’ after closing brace, three identical locations in class Base, class A and class B
bool Equals(Base other)
must be: bool IEquatable<Base>.Equals( Base other )
Most importantly:
The code shown behaves correctly and is no example for the issue.
To make it illustrate the problem, class B must inherit from class A (or vice versa):
Wrong: class B : Base
,
Correct: class B : A