Considérons le code suivant. Lorsque je tente d'exécuter le programme, j'obtiens l'exception suivante.Inject Array of Interfaces in Ninject
Erreur activation IFoo
Aucune liaison de correspondance sont disponibles et le type ne sont pas auto-liables.
chemin d'activation:
2) L'injection de dépendance IFoo dans le paramètre foos du constructeur de type Bar
1) Demande de Bar
Comment puis-je injecter/lier à un tableau dans Ninject?
Merci pour votre temps.
Edit:
Mes importations d'application des données qui sont créées par un composant tiers. Le processus d'importation applique différents types de filtres (par exemple des implémentations de différentes interfaces de filtrage). Les règles de filtrage changent assez souvent mais sont trop complexes pour être effectuées avec une configuration pure (et un filtre maître).
Je veux rendre l'ajout/modification de filtres aussi facile que possible. Ce que j'ai est un assembly où toutes les implémentations de filtre sont situées. J'ai essayé de lier chaque interface de filtre à la méthode suivante (qui fournit une instance de chaque implémentation de ce type de filtre). Fondamentalement je veux éviter le besoin de changer mon module Ninject quand j'ajoute/enlève des classes de filtre. Je me sens un peu coupable en termes de contournement du mécanisme DI des conteneurs. Est-ce une mauvaise pratique? Y a-t-il une pratique courante pour faire de telles choses?
Résolution:
J'utilise une classe wrapper comme bsnote suggéré.
Je choisis ce que la réponse car il est plus détaillée. Merci (+1) à bsno te aussi! –