public void Compare2(CompareTestA A, CompareTestB B)
 {
     if (A.Equals(B))
     {
         //Equals
     }
 }
 public void Compare3(CompareTestB B, CompareTestBInherited Binherited)
 {
     if (B == Binherited)
     {
         //Equals
     }
 }
 public void Compare1(CompareTestA A, CompareTestB B)
 {
     //Never: if (A == B) { }
     if ((object)A == (object)B)
     {
         //Equals
     }
 }