CS.OVRD.EQUALSA public or nested public reference type overloads the equality operator (Equals(object)). Vulnerability and riskFor 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 11 public class Foo { 2 public bool Equals(object o) { // defect 3 return true; 4 } 5 6 private class InnerClass { 7 public bool Equals(object o) { // OK - not a public class 8 return true; 9 } 10 } 11 12 public struct InnerStruct { 13 public bool Equals(object o) { // OK - not a reference type 14 return true; 15 } 16 } 17 } |