Je me suis inscrit un composantAutorise l'injection de propriété facultative (nulle) dans Castle Windsor par la méthode d'usine?
container.Register(Component.For<XType>()
.LifeStyle.Is(LifestyleType.Transient)
.UsingFactoryMethod(SomeMethod));
et je utilise actuellement ce pour l'injection de propriété sur mes contrôleurs ASP.NET MVC. Cependant - mon problème actuel est que SomeMethod peut retourner null parfois. Castle n'est pas très content de cela et se plaint d'une instance nulle.
Existe-t-il une manière élégante de configurer Windsor pour permettre à ce composant d'être nul? J'ai exploré les docs mais n'ai pas trouvé un moyen de le faire.
Merci.
Vos clients gèrent-ils les références de composants null? Vous pouvez mettre du code null-handling dans une implémentation par défaut et le créer au lieu de renvoyer une valeur nulle. – onof
J'utilise le modèle NullObject comme solution temporaire. Une autre option pourrait être de l'encapsuler dans un autre composant qui ne renverrait que la valeur null/non-null - mais il semble plutôt maladroit. – RasmusKL
voir ma réponse mise à jour. –