J'ai 2 types concrets "CategoryFilter" & "StopWordsFilter" qui implémente "IWordTokensFilter".Problème IoC de StructureMap pour obtenir l'instance en cours d'exécution
ci-dessous est ma configuration:
ForRequestedType<IWordTokensFilter>().TheDefaultIsConcreteType<CategoryFilter>()
.AddInstances(x =>
{
x.OfConcreteType<StopWordsFilter>();
}
);
Le problème est l'exécution lorsque la carte de la structure auto injectent sur ma classe, bec. J'ai des arguments avec du même type de plug-in:
public ClassA(IWordTokensFilter stopWordsFilter, IWordTokensFilter categoryFilter)
je suis toujours obtenir CategoryFilter dans mon premier argument, mais il devrait être stopWordsFilter.
Comment puis-je configurer cela correctement? merci à l'avance
Salut Joshua, Je suis vraiment satisfait de tes réponses. Je voudrais choisir la solution 1 mais j'ai beaucoup de filtres. Donc, j'ai décidé d'utiliser 3 ou 4. Btw, structuremap auto-injecter tous les types concrets à un tableau arguments dans votre solution 1? .. Merci beaucoup encore. –
Oui, il va automatiquement injecter toutes les instances concrètes qu'il connaît. Vous pouvez le dire sur les instances en utilisant explicitement AddInstances (comme dans votre exemple), ou appelez AddAllTypesOf dans un balayage. –
Merci encore Dude. –