title: Operator overloading ==, !=, Equals
body: <p>I've already gone through <a href="https://stackoverflow.com/questions/10790370/whats-wrong-with-defining-operator-but-not-defining-equals-or-gethashcode">question</a> </p>
  
  <p>I understand that, it is necessary to implement <code>==</code>, <code>!=</code> and <code>Equals()</code>.</p>
  
  <pre><code>public class BOX
  {
      double height, length, breadth;
  
      // this is first one '=='
      public static bool operator== (BOX obj1, BOX obj2)
      {
          return (obj1.length == obj2.length 
                      &amp;&amp; obj1.breadth == obj2.breadth 
                      &amp;&amp; obj1.height == obj2.height);
      }
  
      // this is second one '!='
      public static bool operator!= (BOX obj1, BOX obj2)
      {
          return !(obj1.length == obj2.length 
                      &amp;&amp; obj1.breadth == obj2.breadth 
                      &amp;&amp; obj1.height == obj2.height);
      }
  
      // this is third one 'Equals'
      public override bool Equals(BOX obj)
      {
          return (length == obj.length 
                      &amp;&amp; breadth == obj.breadth 
                      &amp;&amp; height == obj.height);
      }
  }
  </code></pre>
  
  <p>I assume, I've written code properly to override <code>==</code>,<code>!=</code>,<code>Equals</code> operators. Though, I get compilation errors as follows.</p>
  
  <pre><code>'myNameSpace.BOX.Equals(myNameSpace.BOX)' is marked as an override 
  but no suitable method found to override.
  </code></pre>
  
  <p>So, question is - How to override above operators &amp; get rid of this error?</p>