The ``++IEquatable++`` interface has only one method in it: ``++Equals()++``. If you've already written ``++Equals(T)++``, there's no reason not to explicitly implement ``++IEquatable++``. Doing so expands the utility of your class by allowing it to be used where an ``++IEquatable++`` is called for. **Note**: Classes that implement ``++IEquatable++`` should also be ``++sealed++``. == Noncompliant Code Example ---- class MyClass // Noncompliant { public bool Equals(MyClass other) { //... } } ---- == Compliant Solution ---- sealed class MyClass : IEquatable { public override bool Equals(object other) { return Equals(other as MyClass); } public bool Equals(MyClass other) { //... } } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::message.adoc[] include::highlighting.adoc[] ''' == Comments And Links (visible only on this page) include::comments-and-links.adoc[] endif::env-github,rspecator-view[]