我已经注册了一个组件
container.Register(Component.For<XType>()
.LifeStyle.Is(LifestyleType.Transient)
.UsingFactoryMethod(SomeMethod));
我目前在我的ASP.NET MVC控制器上使用它来进行属性注入。但是 - 我目前的问题是SomeMethod有时会返回null。 Castle对此并不十分满意并抱怨null实例。
是否有一种简洁的方法来配置Windsor以允许此组件为空?我一直在探索文档,但还没有找到办法。
感谢。
答案 0 :(得分:6)
不,没有办法通过温莎传递null。
如果组件为空,显然不能使用它,那么无论如何都是没有意义的。
如果您仅将此组件用作某个其他组件的属性,我认为将其作为DynamicParameter传递会更好。如果它为空,温莎将忽略它。