根据 Spring.NET 框架附带的帮助文件,您可以通过使用“idref”标签和“本地”属性来注入在本地文件中定义的依赖关系。
我一直在尝试这样做,但没有成功,希望有人有经验来帮助我。
下面我有一个来自配置的片段,我将它作为构造函数参数传递,但我也尝试将它设置为属性。两种方法似乎都会产生相同的错误。
<object id="theTargetObject" type="TestClassLibrary.TargetObject, TestClassLibrary"/>
<object id="theClientObject" type="TestClassLibrary.ClientObject, TestClassLibrary">
<constructor-arg name="myClass">
<idref local="theTargetObject"/>
</constructor-arg>
</object>
创建上下文“spring.root”时出错:在“文件 [C:\Test\TestApp\bin\Debug\my.config.xml]”中定义名称为“theClientObject”的对象创建时出错:通过索引为 0 的构造函数参数表达的依赖关系不满足[TestClassLibrary.TargetObject] 类型:无法将构造函数参数值 [theTargetObject] 转换为所需类型 [TestClassLibrary.TargetObject]:无法将 [System.String] 类型的属性值转换为属性“”的所需类型 [TestClassLibrary.TargetObject]。