¿Usando la fábrica abstracta como InyectionFactory en la unidad?
Pregunta
Tengo una fábrica abstracta registrada para inyección en algunos casos de controlador. ¿Puedo registrar esa fábrica abstracta y usarla como una fábrica de inyección?
Esto es lo que tengo:
public interface ILevelFactory
{
Levels Create();
}
.RegisterType<ILevelFactory, LevelFactory>()
.RegisterType<Levels>(new InjectionFactory((c) => StaticLevelFactory.GetLevels()))
Situación deseada:
.RegisterType<ILevelFactory, LevelFactory>()
.RegisterType<Levels>(*** look up and use ILevelFactory ***)
En resumen, quiero deshacerme del estaticlevelfactorio.
Solución
Si su ilevelfactory está correctamente registrado:
RegisterType<Levels>(new InjectionFactory((c) => c.Resolve<ILevelFactory>().GetLevels()))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow