我希望能够使用SPRING.NET根据条件注入属性,假设我有两个对象A和B,基于我在代码中计算的属性的值,我希望能够在属性值为真时注入A,在属性值为假时注入B。我可以在spring.net中这样做吗?
<object id="Service" singleton="false" type="comp.Service, comp.Service">
// if(p1 == true) p1 is calculated in code.
<property name="_factory" ref="factory1" />
// else
<property name="_factory" ref="factory2" />
</object>
<object name="factory1" type="comp.Factory1, Factory1">
</object>
<object name="factory2" type="comp.Factory2, Factory2">
</object>发布于 2014-04-22 13:21:20
是的你可以。使用表达式:
<object id="Service" singleton="false" type="comp.Service, comp.Service">
<property name="_factory" expression="(p1 ? @(factory1) : @(factory2))" />
</object>您可能想要阅读有关spring expression的文档,这是一个重要的主题。
https://stackoverflow.com/questions/23155711
复制相似问题