Question

J'ai une fabrique abstraite enregistrée pour l'injection dans certaines instances de contrôleur. Puis-je enregistrer cette fabrique abstraite et l'utiliser comme usine d'injection?

Voici ce que j'ai:

public interface ILevelFactory
{
    Levels Create();
}

.RegisterType<ILevelFactory, LevelFactory>()
.RegisterType<Levels>(new InjectionFactory((c) => StaticLevelFactory.GetLevels()))

Situation souhaitée:

.RegisterType<ILevelFactory, LevelFactory>()
.RegisterType<Levels>(*** look up and use ILevelFactory ***)

En bref, je veux me débarrasser de StaticLevelFactory.

Était-ce utile?

La solution

Si votre ILevelFactory est correctement enregistré:

RegisterType<Levels>(new InjectionFactory((c) => c.Resolve<ILevelFactory>().GetLevels()))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top