J'ai une classe dérivée du Dictionnaire. J'ai besoin de cette classe pour simuler un HashSet, parce que Silverlight ne connaît pas HashSets et mes classes font un usage intensif de HashSets. J'ai donc décidé d'échanger le HashSet avec le dictionnaire. Pour utiliser plus mes cours avec tous les HashSet-objets, je tente de faire une classe HashSet personnalisée, qui est dérivé du Dictionnaire et remplacer toutes les méthodes relavant comme Add-méthode:Activer foreach pour une classe dérivée du Dictionnaire
class HashSet<T> : Dictionary<T, object>
{
public override void Add(T element)
{
base.Add(element, null);
}
}
Maintenant je dois permettre la boucle foreach pour ma nouvelle classe HashSet. Évidemment, ma classe renvoie un KeyValuePair dans une boucle foreach, mais j'ai besoin de T comme type de retour. Quelqu'un peut-il me dire, quoi et comment j'ai besoin de remplacer la classe de base Dictionary?
Merci à l'avance, Frank
Très bonne question, en effet. La réponse de Jon Skeet aide mon code à avoir plus de sens et être utilisable de notre point de vue. –