¿Alguien ha comenzado un proyecto para hacer IOC en tiempo de compilación (posiblemente usando Roslyn o Linq MethodInfo emit)?
Mi experiencia con los contenedores de COI ha sido excelente hasta ahora, dejando al descubierto algunos pequeños problemas.
- Muchos contenedores IOC tardan en iniciarse, ya que gran parte de la lógica de resolución ocurre aquí
- A menudo es difícil garantizar que la resolución sea posible, ya que la compilación ya no garantiza que se pueda llamar al constructor
- A menudo, los contenedores de COI agregan una pequeña sobrecarga al tiempo de ejecución (algunos ni siquiera son pequeños, a menudo los que se inician rápidamente se ejecutan lentamente)
Me parece que la solución ideal sería agregar un paso de compilación a la cadena de compilación que agregue una clase Factory en lugar de IOC.
¿Alguien ha hecho esto antes? ¿Si no, porque no?