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