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