Je travaille avec StructureMap pour mes besoins IoC.StructureMap, ObjectFactory et IContainer
Pour rendre les choses agréablement testables, je passe les instances IContainer
autant que possible, généralement en tant que paramètres du constructeur. Par commodité, j'aimerais pouvoir utiliser ObjectFactory
pour un constructeur sans paramètre.
La manière la plus simple (j'ai pensé) de faire ceci serait d'obtenir simplement le IContainer
les enveloppes de classe ObjectFactory
et de passer cela à l'autre constructeur. Malheureusement, je ne peux pas trouver n'importe où cette instance est exposée publiquement.
La question est:
Y at-il un moyen d'obtenir le IContainer
au sein ObjectFactory
donc je peux gérer comme simplement une instance fournie par l'utilisateur?
Vous pouvez également dupliquer la configuration du ObjectFactory
dans une nouvelle instance Container
?
Exemple:
Je voudrais être en mesure de faire ce qui suit:
public class MyClass
{
public MyClass()
{
Container = ... // The ObjectFactory container instance.
}
public MyClass(IContainer container)
{
Container = container;
}
public IContainer Container { get; private set; }
}
Si ma réponse a raté la note. Pouvez-vous donner un exemple d'utilisation? – KevM