CS.OVRD.EQUALS
パブリックまたは入れ子のパブリックの参照タイプによって equality 演算子 (Equals(object)) が過負荷になります。
脆弱性とリスク
参照タイプの場合、equality 演算子のデフォルトの実装はほぼ必ず正しくなります。デフォルトでは、2 つの参照が同じオブジェクトをポイントする場合にのみ、これらは等しくなります。
例 1
コピー
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;
}
}
}