CS.WRONGUSE.REFEQ
値タイプで呼び出されるため、メソッド 'Object.ReferenceEquals' は常に false です。そのため、このようなチェックは有用ではありません。
例
コピー
namespace NameSpace {
struct S {
}
class A {
}
class Processor {
public bool CompareArgs(S s, A a, Object o) {
if (System.Object.ReferenceEquals(s, a)) // defect
return false;
if (System.Object.ReferenceEquals(o, s)) // defect
return false;
if (System.Object.ReferenceEquals(a, o)) // OK
return false;
return true;
}
}
}