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