2013-03-15 3 views
0

Я хочу ввести строковое значение в свойство с помощью Unity. Я не могу найти синтаксис, который работает. В этом случае PutBunniesHereВвести простую строку, используя единственное свойство injection

В этом случае ошибка заключается в том, что он не распознает «тип» как действительный атрибут значения. Я добавил, что, поскольку он не мог решить тип раньше.

Класс обладает этим свойством:

[Dependency("PutBunniesHere")] 
    public string PutBunniesHere { get; set; } 

И это конфиг я использую для единства.

<?xml version="1.0" encoding="utf-8" ?> 
    <unity2 xmlns="http://schemas.microsoft.com/practices/2010/unity"> 
    <alias alias="IInjectMe1" type="CommonLib.IInjectMe1, CommonLib"/> 
    <alias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity" /> 
    <container name="unity2"> 
    <register type="CommonLib.IInjectMe2, CommonLib" name="Injected2" mapTo="CommonLib.InjectMe2, CommonLib"> 
     <lifetime type="singleton"/> 
     <constructor> 
     <param name="theDependency" dependencyType="IInjectMe1" /> 
     </constructor> 
     <property name="PutBunniesHere"> 
     <value value="my bunnies" type="System.String"/> 
     </property> 
    </register> 
    </container> 
</unity2> 

ответ

0

Хорошо, решена проблема. Еще раз возникла проблема с именем в элементе register. Это приводит к тому, что значение элемента значения принимает другое значение. value означает имя зарегистрированного типа или тип, если в элементе родительского регистра есть атрибут name. Вынуть имя и значение означает значение (и, возможно, также тип)

Yuk.

Смежные вопросы