Я зарегистрировал компонент
container.Register(Component.For<XType>()
.LifeStyle.Is(LifestyleType.Transient)
.UsingFactoryMethod(SomeMethod));
и в настоящее время использую его для внедрения свойства в мои контроллеры ASP.NET MVC. Однако моя текущая проблема заключается в том, что SomeMethod может иногда возвращать ноль. Касл не слишком доволен этим и жалуется на нулевой экземпляр.
Есть ли удобный способ настроить Windsor, чтобы этот компонент был нулевым? Я' мы изучали документы, но не нашли способ сделать это.
Спасибо.
Нет, передать null через Windsor невозможно.
Если компонент нулевой, то его, очевидно, нельзя использовать, поэтому было бы бессмысленно, если бы это было возможно в любом случае.
Если вы используете этот компонент только как свойство какого-то другого компонента, я думаю, было бы лучше просто передать его как DynamicParameter. Затем Windsor просто проигнорирует его, если он нулевой.