@Enterprise Library Unity属性注入

时间:2011-06-01 00:22:47

标签: properties unity-container enterprise code-injection

我对企业库更新鲜。我想问一些问题,任何帮助都会受到赞赏。

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 个答案:

答案 0 :(得分:1)

首先,更喜欢构造函数注入而不是属性注入。

要将类型注入构造函数,请使用<dependency [name=""] />属性。

例如:

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

<register type="InjectObject" />

更新:

要添加数组作为注入值,您需要配置如下内容:

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

查看Unity configure schema以了解有关如何执行此操作的所有详细信息。

相关问题