Rider Help

Code Inspection: Compare with '==' types marked by 'CannotApplyEqualityOperatorAttribute'

The CannotApplyEqualityOperator attribute is a ReSharper annotation attribute used to mark types for which the use of == and != operators is inappropriate and should be replaced with Equals() or other operations. Consequently, when two types marked with this attribute are compared with == or !=, Rider will issue a warning.

You may also wonder how Rider knows which types cannot be compared with equality operators. Well, the trick is done with external annotations for the.NET Framework Class Library and other frequently used libraries. These annotations are included in the Rider installation. The [CannotApplyEqualityOperator] attribute that triggers this inspection can also be used for your custom types, or you can use the mechanism of external annotations to annotate types in compiled libraries that you use.

Last modified: 11 October 2017

See Also