Classe personnalisée utilisé comme clé du Dictionnaire, mais touche pas trouvé

J'ai une classe, montrons ci-dessous, qui est utilisé comme une clé dans une Dictionary<ValuesAandB, string>
Je vais avoir des problèmes en essayant de trouver une clé au sein de ce dictionnaire, il n'a jamais trouve de tout. Comme vous pouvez le voir, j'ai annulé Equals et GetHashCode.

À chercher la clé je suis en utilisant

ValuesAandB key = new ValuesAandB(A,B);
if (DictionaryName.ContainsKey(key)) {
   ...
}

Est-il autre chose que je suis absent? Quelqu'un peut-il point de ce que je fais de mal?

private class ValuesAandB {
   public string valueA;
   public string valueB;

   //Constructor
   public ValuesAandB (string valueAIn, string valueBIn) {
     valueA = valueAIn;
     valueB = ValueBIn;
   }

   public class EqualityComparer : IEqualityComparer<ValuesAandB> {
      public bool Equals(ValuesAandB x, ValuesAandB y) {
         return ((x.valueA.Equals(y.valueA)) && (x.valueB.Equals(y.valueB)));
      }
      public int GetHashCode(ValuesAandB x) {
         return x.valueA.GetHashCode() ^ x.valueB.GetHashCode();
      }
   }
}

Et avant que quiconque demande, oui les valeurs sont dans le Dictionnaire!

OriginalL'auteur Ian Devlin | 2009-10-27