Внедрение свойства библиотеки Unity @Enterprise - PullRequest
1 голос
/ 01 июня 2011

Я новичок в корпоративной библиотеке. Я хочу задать несколько вопросов, и любая помощь будет признательна.

1 、 Как развернуть, внедрить свойство экземпляра.

public class MyObject
{
   public MyObject(string Title)
   {
      ///...
   }
   public MyObject(InjectObject injectObject)
   {
      ///...
   }
   public InjectObject InjectObject{get;set;}
   public List<string> MyList {get;set;}
   public string Title {get;set;}
} 

Now I know how to inject the default value to the title property. But how to do 
with 
the InjectObject and the MyList.

<register type="IMyObject" mapTo="MyObject">
   <property name="Title" value="MyFirstObject">
   </property>
   //But how to assign or instance the InjectObject and the MyList
</register>
But how to assign or instance the InjectObject and the MyList

 <register type="IMyObject" MapTo=“MyObject”>
  <constructor>
     <param type="string" name="title" value="MyFirstObject"/>
  </constructor>

2. Как доставить экземпляр класса в конструктор и я знаю, как назначить строковое значение конструктору. Но как перевести экземпляр класса.

Как я могу назначить экземпляр класса для конструктора и Как, если у меня есть два метода конструктора для развертывания.

Спасибо за вашу помощь. С наилучшими пожеланиями.

Daivd

1 Ответ

1 голос
/ 01 июня 2011

Во-первых, предпочтительнее инжекция конструктора, чем инъекция свойства.

Чтобы внедрить тип в конструктор, вы используете атрибут <dependency [name=""] />.

Например:

<register type="IMyObject" MapTo=“MyObject”>
    <constructor>
        <param name="injectObject">
            <dependency />
        </param>
    </constructor>
<register>

<register type="InjectObject" />

UPDATE:

Чтобы добавить массив в качестве значения внедрения, вам нужно настроить что-то вроде этого:

<param name="parmName">  
    <array>  
        <value value="firstValue" />  
        <dependency />  
        <value value="some other value" />  
    </array>  
</param>  

Ознакомьтесь со схемой Unity configure , чтобы узнать все подробности о том, как это сделать.

...