Alguém já iniciou um projeto para executar o COI em tempo de compilação (possivelmente usando a emissão de Roslyn ou Linq MethodInfo)?
Minha experiência com contêineres do COI até agora tem sido ótima, revelando alguns pequenos problemas
- Muitos contêineres do COI demoram a iniciar, pois grande parte da lógica de resolução ocorre aqui
- Muitas vezes, é difícil garantir que a resolução seja possível, pois a compilação não garante mais que o construtor possa ser chamado
- Freqüentemente, os contêineres do IOC adicionam uma pequena sobrecarga ao tempo de execução (alguns nem são pequenos, geralmente os que iniciam rapidamente são executados lentamente)
Parece-me que a solução ideal seria adicionar uma etapa de compilação à cadeia de compilação que adiciona uma classe Factory em vez de IOC.
Alguém já fez isso antes? Se não, por que não?