2008-11-06 8 views
1

В соответствии с файлом справки, который поставляется с базой Spring.NET, вы можете ввести зависимость, определенную в локальном файле, с помощью тега idref вместе с атрибутом 'local' ,Проблема Spring.NET с <idref> тегом в config

Я пытался сделать это без успеха и надеялся, что у кого-то есть опыт, чтобы помочь мне.

Ниже у меня есть фрагмент из конфига, где я передаю его как аргумент конструктора, но я попытался установить его как свойство. Оба метода, похоже, дают ту же ошибку.

<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': Ошибка при создании объекта с именем 'theClientObject' определено в 'файл [C: \ Test \ TestApp \ Bin \ Debug \ my.config.xml]': Неудовлетворенный зависимость выраженный аргументом конструктора с индексом 0 типа [TestClassLibrary.TargetObject]: Не удалось преобразовать значение аргумента конструктора [theTargetObject] в требуемый тип [TestClassLibrary.TargetObject]: Невозможно преобразовать значение свойства типа [System.String] в требуемый тип [TestClassLibrary. TargetObject] для свойства ''.

ответ

2

Я думаю GEF был на правильном пути, но accidentially смешал его наклеивая snippet.You ищут <ref> element:

<object id="theTargetObject" type="TestClassLibrary.TargetObject, TestClassLibrary"/> 
<object id="theClientObject" type="TestClassLibrary.ClientObject, TestClassLibrary"> 
    <property name="myClass"> 
      <ref local="theTargetObject"/> 
    </property> 

сокращенное обозначение для этого:

<object id="theClientObject" type="TestClassLibrary.ClientObject, TestClassLibrary"> 
    <property name="myClass ref="theTargetObject"/> 

НТН, Erich

+0

Упс, хорошо заметили - я должен был использовать это - http://www.springframework.net/docs/1.2.0-RC1/reference/html/vsnet.html#vsnet-config- раздел :) – gef 2009-01-04 15:43:03