引用对象定义的Spring.NET表达式

时间:2009-09-10 18:26:23

标签: c# configuration expression spring.net spring-el

我正在尝试从表达式中引用我在Spring配置文件中定义的另一个对象。具体来说,我正在尝试使用表达式的值填充属性,我在其中调用方法,然后在该方法返回的对象上使用属性。
我尝试了以下(名称已更改):

<property name="NullableIntProperty"
          expression="#{Some.Object.Id}.Get().NullableIntValue"/>

其中Some.Object.Id是对我在配置文件中定义的另一个对象的引用,例如:

<object id="Some.Object.Id" ... >

但我的应用程序无法以解析异常expecting "COLON", found '}'开头。我认为它期待一个命名空间,但我找不到这个文档。

我尝试了几件事,但到处都是我死路一条。我最初尝试了MethodInvokingFactoryObjectPropertyRetrievingFactoryObject的组合,我们在其他地方使用了非可空类型,但由于Spring看到一个对象工厂返回,因此实际上为null的nullables失败了null失败(通常是这样)。

2 个答案:

答案 0 :(得分:3)

您可以将@(object-id-here)表达式语法用于retrieve an object from the Spring context using an expression

<property name="NullableIntProperty"
          expression="@(Some.Object.Id).PropertyOnSomeObject"/>

答案 1 :(得分:0)

将#改为$应该修复它,我相信。