Me he registrado un componente¿Permitir la inyección de propiedad opcional (nula) en Castle Windsor a través del método de fábrica?
container.Register(Component.For<XType>()
.LifeStyle.Is(LifestyleType.Transient)
.UsingFactoryMethod(SomeMethod));
y actualmente estoy usando esto por inyección propiedad en mis controladores de ASP.NET MVC. Sin embargo, mi problema actual es que SomeMethod puede devolver null algunas veces. Castle no está muy feliz con esto y se queja de una instancia nula.
¿Hay una forma ordenada de configurar Windsor para permitir que este componente sea nulo? He estado explorando los documentos pero no he encontrado la forma de hacerlo.
Gracias.
¿Sus clientes manejan referencias de componentes nulos? Puede poner código de null-handling en una implementación predeterminada y crearlo en lugar de devolver nulo – onof
Estoy usando el patrón NullObject como una solución temporal. Otra opción podría ser envolverlo en otro componente que solo devuelva el valor nulo/no nulo, pero parece un poco torpe. – RasmusKL
ver mi respuesta actualizada. –