Comment faire pour supprimer(désinscription) enregistré exemple de l'Unité de la cartographie?

Je rencontre un problème que je ne peux pas résoudre maintenant.
J'ai le texte suivant:

UnityHelper.DefaultContainer.RegisterInstance(typeof(IMyInterface), "test", instance);

UnityHelper.DefaultContainer est mon aide pour l'obtention de l'unité de conteneur avec chargés de configuration.

ici, je me suis inscrit instance comme une instance de IMyInterface.

Donc, n'importe où( peu de temps après l'utilisation) je veux enlever cette cartographie. Supprimer tout. Comment je peux faire?

J'ai essayé:

UnityHelper.DefaultContainer.Teardown(instance)

mais a échoué et le code suivant renvoie instance de toute façon:

UnityHelper.DefaultContainer.ResolveAll<IMyInterface>()
  • Intéressant. Pourquoi voulez-vous en chemin?
  • J'utilise moqué de cas de tests et de vouloir effacer de l'environnement pour le prochain test. Actuellement, les instances de test précédent dans le conteneur et apparaissent quand je l'appelle ResolveAll<IMyInterface>().
  • Dans le voir scénario développeur peut modifier la mise en œuvre à la volée.
  • Habituellement, je créer récipient séparé pour chaque test. Cela évite de tels problèmes... Concernant la modification à la volée - Ce qui va provoquer des problèmes avec concurency - être prudent. Je pense que la mise en œuvre peut être changen en enregistrant un autre exemple, avec le même nom (mais je ne sais plus).
  • oui sur l'inscription, mais il ne sera pas supprimer à partir de "liste de tous", il est possible de créer un vide de la mise en œuvre d'émuler le supprimer, mais je n'aime pas de cette façon. Création d'un conteneur séparé est bonne, mais le conteneur est créé dans le code que je veux tester.
InformationsquelleAutor bug0r | 2010-04-24