Obtenir la clé d'un point sur un objet de Collection
L'environnement est que les membres, je suis poussant dans la Collection sont sans nom, non-identifiables (pour éviter les mauvaises abstractions, et s'il vous plaît, pas de panique: les membres sont effectivement d'autres la Collecte de cas).
Afin d'être en mesure de faire des recherches rapides, je suis de la création d'un significatif nom de hachage pour chaque nouveau membre, et de lui donner la Clé de la chaîne, sur la méthode Add de la "plus haute" de la Collection.
Quand j'ai un clé de recherche, tout du dandy...
Le problème est que je voudrais répéter les membres de la collecte et obtenir la Clé qui vous a été fourni sur Ajouter (le Hachage généré, qui malheureusement n'est pas possible d'inverser le Hachage).
Je suis de passer par la définition que le premier membre de l'insertion des sous-instance de la collection est une chaîne de caractères, contenant les hachage, mais si quelqu'un les fissures cela, je serai bien obligé.
OriginalL'auteur jpinto3912 | 2009-04-10
Vous devez vous connecter pour publier un commentaire.
L'approche la plus simple serait d'utiliser un Dictionnaire au lieu d'une Collection. Le Dictionnaire est essentiellement un tableau associatif de clé, élément paires et en charge la récupération de ses touches, comme un tableau. Pour utiliser le Dictionnaire, vous devez ajouter une référence à Microsoft Scripting Runtime. L'inconvénient à l'utilisation du dictionnaire, c'est qu'il n'est pas énumérable de la même manière que la collection. Une solution élaborée serait pour envelopper la collecte et le dictionnaire de créer une énumération dictionnaire comme indiqué ci-dessous.
NB Pour obtenir NewEnum pour fonctionner correctement en VBA le module de classe a à l'exportation et à l'éditer manuellement comme suit et puis réimporté.
exemple
j'. bon point. ii. Je n'ai pas donné que toute considération, et votre suggestion est la meilleure des deux alternatives, mais la Clé, la Clé ne m'irrite. Peut-être que le Dictionnaire serait mieux pour les clés. iii. Que se serait redondant puisque le membre par défaut de la collection retournée serait .Article
Aussi, les analyses dans le sens de la performance, ou dans le sens de n'est pas complète?
"les analyses" dans correcteness (mais c'est en polonais). Je crois que je n'ai pas croiserai iii) Si vous êtes de donner une ref à un priv. membre, je suppose que cela donne à l'utilisateur la cordiale qui permet de p. de mess avec elle (je ne sais pas si vba erreurs). E. G. jeu de touches mykeys=thisWrapCol.Les touches() Appel touches mykeys.Supprimer() Accord sur ii? (ouais c'est bizarre)
Ok, je suis avec vous sur iii. Pour le ii, je me demande encore si il ne serait pas judicieux de faire someKeys un Dictionnaire, ajouter la clé et de la collecte au cours d'Ajouter et d'exposer ses Touches de collecte par le biais d'une propriété, ce serait vous donner un moyen d'obtenir de l'ensemble de Touches ou d'une personne Clé sans encapsulation des questions.
OriginalL'auteur cmsjr
Vous pourriez emballer votre membre collections dans votre propre collection d'appel que le stockage de la clé et de la collection. La c'est juste une question d'itération jeter la collecte et de poser les éléments de leur clé (c'est à dire vous de hachage).
OriginalL'auteur
essayer de remplacer
avec
il a travaillé pour moi.
OriginalL'auteur angelo.mastro