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;
}
}
}