Разрешить необязательно (ноль) ) внедрение свойства в Castle Windsor с помощью фабричного метода?

Я зарегистрировал компонент

container.Register(Component.For<XType>()
 .LifeStyle.Is(LifestyleType.Transient)
 .UsingFactoryMethod(SomeMethod));

и в настоящее время использую его для внедрения свойства в мои контроллеры ASP.NET MVC. Однако моя текущая проблема заключается в том, что SomeMethod может иногда возвращать ноль. Касл не слишком доволен этим и жалуется на нулевой экземпляр.

Есть ли удобный способ настроить Windsor, чтобы этот компонент был нулевым? Я' мы изучали документы, но не нашли способ сделать это.

Спасибо.

8
задан RasmusKL 26 August 2010 в 08:29
поделиться

1 ответ

Нет, передать null через Windsor невозможно.

Если компонент нулевой, то его, очевидно, нельзя использовать, поэтому было бы бессмысленно, если бы это было возможно в любом случае.

Если вы используете этот компонент только как свойство какого-то другого компонента, я думаю, было бы лучше просто передать его как DynamicParameter. Затем Windsor просто проигнорирует его, если он нулевой.

6
ответ дан 5 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: