CS.OVRD.EQUALS
A public or nested public reference type overloads the equality operator (Equals(object)).
Vulnerability and risk
For reference types, the default implementation of the equality operator is almost always correct. By default, two references are equal only if they point to the same object.
Example 1
Copy
public class Foo {
public bool Equals(object o) { // defect
return true;
}
private class InnerClass {
public bool Equals(object o) { // OK - not a public class
return true;
}
}
public struct InnerStruct {
public bool Equals(object o) { // OK - not a reference type
return true;
}
}
}