2010-10-27 6 views
3

Je ne peux m'empêcher de penser qu'il existe une meilleure façon de faire cela que mon code actuel dans mon Registre StructureMap.Méthode d'appel d'une classe dans la configuration du registre StructureMap

For<ISchedulerFactory>().Use(() => new StdSchedulerFactory()); 
    For<IScheduler>().Use(() => new StdSchedulerFactory().GetScheduler()); 

Y at-il un moyen de le faire utiliser le type enregistré précédent et appeler la méthode de cela? (GetScheduler() est sur l'interface ISchedulerFactory)

Répondre

4

Oui, vous pouvez le faire:

For<IScheduler>().Use(c => c.GetInstance<ISchedulerFactory>().GetScheduler()); 
+0

fonctionne très bien! Je savais qu'il devait y avoir un meilleur moyen. Merci pour l'aide! – phreak3eb